development

C #-빈 목록 사용 방법

big-blog 2021. 1. 10. 19:49
반응형

C #-빈 목록 사용 방법 선택적 매개 변수로


누군가 이것의 예를 제공 할 수 있습니까?

나는 시도 null, string.Empty및 객체 초기화하지만 기본값은 컴파일시 일정해야하기 때문에 그들은 작동하지 않습니다


null 병합 연산자와 빈 List 인스턴스를 사용하십시오.

public void Process(string param1, List<string> param2 = null) {
    param2 = param2 ?? new List<String>();
}

문제는 "param2"가 null이고 새 참조를 할당하면 호출 컨텍스트에서 액세스 할 수 없다는 것입니다.


default컴파일 시간 상수 ( null의 경우)를 사용하여 다음을 수행 할 수도 있습니다 List<T>.

void DoSomething(List<string> lst = default(List<string>)) 
{
    if (lst == default(List<string>)) lst = new List<string>();
}

불가능하다. 대신 메서드 오버로딩을 사용해야합니다.

public static void MyMethod(int x, List<string> y) { }
public static void MyMethod(int x)
{
    MyMethod(x, Enumerable<string>.Empty());
}

    private void test(List<string> optional = null)
    {

    }

목록 대신 문자열에 대해 죄송합니다. Null은 4.0에서 잘 작동하며 Visual Studio 2010을 사용하고 있습니다.


private void test (params object [] params) {

}

참조 URL : https://stackoverflow.com/questions/6947470/c-how-to-use-empty-liststring-as-optional-parameter

반응형