C# 명령줄 인수

王林
풀어 주다: 2024-09-03 15:07:09
원래의
919명이 탐색했습니다.

C#에서는 프로그램 실행이 main() 메서드에서 시작됩니다. main() 메서드는 다른 메서드의 인수를 허용하지 않지만 명령줄을 통해 사용자로부터 전달된 인수를 허용하며 이러한 인수를 명령줄 인수라고 합니다. 다음은 C#의 명령줄 인수와 관련된 몇 가지 중요한 사항입니다.

  • 기본() 메소드는 문자열 유형 배열로 사용자가 전달한 인수를 허용합니다.
  • 프로그램 실행 중에 인수를 허용합니다.
  • 사용자는 Convert 클래스 또는 Parse() 메서드를 사용하여 문자열 유형의 인수를 C#의 다른 유형으로 변환할 수 있습니다.

설명이 포함된 구문

명령줄 인수를 사용하는 Main() 메서드의 구문은 다음과 같습니다.

static void Main(string[] args)
{
//user code
}
로그인 후 복사

위 구문에서 '정적'은 Main() 메서드가 인스턴스 없이 실행될 수 있음을 나타내는 키워드입니다. 'void'는 반환 유형입니다. 'Main'은 이것이 프로그램의 Main() 메소드임을 나타내고 'string[]'은 메소드에 전달되는 인수 유형을 나타냅니다. 'args'는 인수에 부여된 사용자 정의 이름입니다.

C#에서 명령줄 인수는 어떻게 작동하나요?

명령줄 인수는 문자열 유형의 배열로 Main() 메서드에 전달되므로 프로그램을 실행하는 동안 n개의 매개 변수를 전달할 수 있습니다.

예:

public static void Main(string[] args)
{
//user code
}
로그인 후 복사

위 Main() 메서드에 매개변수를 전달하면 문자열 유형의 배열인 'args' 변수에 의해 보호됩니다. 그런 다음 인덱스 위치를 사용하여 이 배열의 개별 인수에 액세스할 수 있습니다.

이전에 전달된 각 요소는 아래 예와 같이 C#에서 제공하는 Convert 클래스 또는 Parse() 메서드를 사용하여 나중에 필요한 데이터 유형으로 변경할 수 있는 문자열 유형입니다.

long num = long.Parse(args[0]);
로그인 후 복사

위 명령문은 Parse() 메서드를 사용하여 인덱스 번호 0에 있는 인수를 동등한 'long' 값으로 변환한 다음 'long' 유형의 변수 'num'에 저장합니다.

int num = Convert.ToInt32(args[1]);
로그인 후 복사

이 명령문은 인덱스 번호 1에 있는 인수를 해당하는 32비트 부호 있는 정수로 변환한 다음 'int' 유형인 'num' 변수에 저장합니다.

명령줄 인수가 있는지 확인할 수도 있습니다. 예를 들어 아래와 같이 'Length' 속성을 사용하여 인수가 Main() 메서드에 전달되었는지 여부를 확인할 수 있습니다.

if (args.Length > 0)
{
System.Console.WriteLine("Arguments passed");
}
else
{
System.Console.WriteLine("Arguments are not passed");
}
로그인 후 복사

Windows Forms 애플리케이션의 경우 Main() 메서드에서 명령줄 인수를 활성화하려면 'program.cs' 파일에서 Main() 메서드의 서명을 수정해야 합니다. 이는 Windows 양식 디자이너가 입력 매개변수 없이 Main() 메소드를 포함하는 코드를 생성하기 때문입니다.

Visual Studio에서 C#으로 작업하는 경우 Visual Studio에서 Main() 메서드에 대한 명령줄 인수를 입력하는 좋은 방법이 있습니다. 이를 위한 몇 가지 단계는 다음과 같습니다.

  1. 솔루션 탐색기의 기본 () 메서드가 포함된 프로젝트를 마우스 오른쪽 버튼으로 클릭하세요.
  2. '속성'을 클릭하세요
  3. 속성 창에서 '디버그' 탭으로 이동하세요
  4. 디버그에는 '명령줄 인수'라는 텍스트 상자가 있습니다.

이 텍스트 상자에 각각 공백으로 구분된 명령줄 인수를 입력할 수 있습니다. 아래에서 동일한 스크린샷을 찾아보세요.

C# 명령줄 인수

C# 명령줄 인수의 예

아래에는 다양한 예가 나와 있습니다.

예시 #1

예를 들어, 명령줄 인수를 통해 사용자로부터 10개의 정수를 입력받고 이러한 숫자 중에서 홀수와 짝수를 확인합니다.

코드:

using System;
using System.IO;
using System.Collections.Generic;
namespace ConsoleApp4
{
class Program
{
public static void Main(string[] args)
{
List<int> evenArray = new List<int>();
List<int> oddArray = new List<int>();
try
{
//checking if any argument exists
if (args.Length == 0)
{
Console.WriteLine("Please enter numbers to check for odd even!");
return;
}
//accessing arguments using for loop
for (int i = 0; i < args.Length; i++)
{
//checking for odd and even
if ((Convert.ToInt32(args[i]) % 2) == 0)
{
evenArray.Add(Convert.ToInt32(args[i]));
}
else
{
oddArray.Add(Convert.ToInt32(args[i]));
}
}
//displaying all the numbers entered
Console.WriteLine("Numbers entered:");
for (int i = 0; i < args.Length; i++)
{
Console.WriteLine(args[i]);
}
//displaying even numbers entered
Console.WriteLine("\nEven numbers: ");
for (int i = 0; i < evenArray.Count; i++)
{
Console.WriteLine(evenArray[i]);
}
//displaying odd numbers entered
Console.WriteLine("\nOdd numbers: ");
for (int i = 0; i < oddArray.Count; i++)
{
Console.WriteLine(oddArray[i]);
}
Console.ReadLine();
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
}
로그인 후 복사

출력:

C# 명령줄 인수

입력을 입력하고 출력을 받은 상태에서 위 프로그램을 실행하는 명령이 포함된 스크린샷은 다음과 같습니다.

예시 #2

예를 들어 명령줄을 통해 사용자로부터 숫자를 가져와 계승을 계산합니다.

코드:

using System;
using System.IO;
using System.Collections.Generic;
namespace ConsoleApp4
{
class Program
{
public static void Main(string[] args)
{
int number;
int factorial;
try
{
//checking if any argument exists
if (args.Length == 0)
{
Console.WriteLine("Please enter a number to calculate " +
"its factorial!");
return;
}
if(args.Length > 1)
{
Console.WriteLine("Please enter only one number.");
return;
}
Console.WriteLine("The number entered is: " + args[0]);
number = Convert.ToInt32(args[0]);
factorial = number;
//calculating factorial of number using 'for' loop
for(int i = number - 1; i >= 1; i--)
{
factorial = factorial * i;
}
Console.WriteLine("Factorial of {0} is {1}: ", args[0], factorial);
Console.ReadLine();
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
}
로그인 후 복사

출력:

C# 명령줄 인수

입력된 숫자와 수신된 출력으로 위 프로그램을 실행하는 명령이 포함된 스크린샷은 다음과 같습니다.

참고: “VS 2019용 개발자 명령 프롬프트”를 사용하여 위 두 프로그램을 실행했습니다. Visual Studio의 '디버그' 옵션에 있는 '명령줄 인수' 텍스트 상자를 통해 명령줄 인수를 제공하여 Visual Studio에서 이러한 프로그램을 실행할 수도 있습니다.

결론

명령줄 인수는 명령줄을 사용하여 사용자로부터 프로그램의 Main() 메서드로 전달되는 매개변수입니다. 사용자는 프로그램 실행 중에 이러한 인수를 입력합니다. 이러한 인수는 문자열 유형 배열의 Main() 메서드에 의해 수신됩니다.

위 내용은 C# 명령줄 인수의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!