C# 제네릭 메서드의 반환 값 처리
C#에서 일반 메서드를 정의할 때 형식 매개 변수 T가 값 형식(예: int 또는 구조체)인 경우 null을 반환하면 컴파일 오류가 발생합니다. 값 형식에 null을 할당할 수 없기 때문입니다.
솔루션
이 문제를 해결하는 방법에는 여러 가지가 있습니다.
default(T)
을 사용하세요. 참조 유형의 경우 정수의 경우 null이 반환되고 0이 반환됩니다. where T : class
제약 조건을 사용하세요. 이렇게 하면 오류 없이 null이 반환될 수 있습니다. where T : struct
제약 조건을 사용하고 return이 포함된 메서드에서 null을 반환할 수 있습니다. T?
유형입니다. 이는 null이 아닌 값 유형의 null 값을 나타냅니다. 예:
<code class="language-csharp">static T FindThing<T>(IList collection, int id) where T : IThing, new() { foreach (T thing in collection) { if (thing.Id == id) return thing; } return default(T); // 返回类型T的默认值 }</code>
특정 요구 사항에 가장 적합한 방법을 선택하고 반환 값이 T의 예상 유형 및 null 허용 여부와 일치하는지 확인하세요.
위 내용은 C#의 일반 메서드에서 값을 안전하게 반환하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!