여러 선택적 매개 변수를 C # 함수에 전달
여러 매개 변수를 허용하도록 C # 함수를 설정하는 방법이 있습니까? 예를 들어 다음이 모두 작동하도록 기능을 설정할 수 있습니까?
x = AddUp(2, 3)
x = AddUp(5, 7, 8, 2)
x = AddUp(43, 545, 23, 656, 23, 64, 234, 44)
수정 자 와 함께 매개 변수 배열 을 사용합니다 params
.
public static int AddUp(params int[] values)
{
int sum = 0;
foreach (int value in values)
{
sum += value;
}
return sum;
}
적어도 하나의 값 이 있는지 확인하려면 (빈 배열이 아닌) 별도로 지정하십시오.
public static int AddUp(int firstValue, params int[] values)
( 구현에서 시작 sum
하려면 firstValue
로 설정하십시오 .)
일반적인 방법으로 nullity에 대한 배열 참조도 확인해야합니다. 메서드 내에서 매개 변수는 완벽하게 일반적인 배열입니다. 매개 변수 배열 수정자는 메소드 를 호출 할 때만 차이를 만듭니다 . 기본적으로 컴파일러는 다음을 수행합니다.
int x = AddUp(4, 5, 6);
다음과 같이
int[] tmp = new int[] { 4, 5, 6 };
int x = AddUp(tmp);
당신은 할 수 완벽하게 정상적인 배열하지만 그것을 호출 - 후자의 구문뿐만 아니라 소스 코드에 유효 있도록.
C # 4.0은 다른 상황에서 유용 할 수있는 선택적 매개 변수도 지원합니다. 이 기사를 참조 하십시오.
1. 과부하 기능을 만들 수 있습니다.
SomeF(strin s){}
SomeF(string s, string s2){}
SomeF(string s1, string s2, string s3){}
추가 정보 : http://csharpindepth.com/Articles/General/Overloading.aspx
2. 또는 params로 하나의 함수를 만들 수 있습니다.
SomeF( params string[] paramArray){}
SomeF("aa","bb", "cc", "dd", "ff"); // pass as many as you like
추가 정보 : https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/params
3. 또는 간단한 배열을 사용할 수 있습니다.
Main(string[] args){}
참고 URL : https://stackoverflow.com/questions/1996426/pass-multiple-optional-parameters-to-ac-sharp-function
'Program Tip' 카테고리의 다른 글
PHP를 사용하여 단어가 다른 문자열에 포함되어 있는지 어떻게 확인할 수 있습니까? (0) | 2020.12.03 |
---|---|
SQL에서 UPDATE는 항상 DELETE + INSERT보다 빠릅니까? (0) | 2020.12.03 |
WebView의 HTTP 요청 가로 채기 및 재정의 (0) | 2020.12.03 |
목록 반복 중에 java.util.List에서 요소를 제거 할 때 ConcurrentModificationException이 발생합니까? (0) | 2020.12.03 |
알 수없는 유형 이름 'uint8_t', MinGW (0) | 2020.12.03 |