C#에서? 기본 유형의 모든 T 값과 추가 Null 값을 나타낼 수 있는 Null 허용 유형을 나타냅니다. ? 이는 null 병합 연산자가 피연산자가 null이 아닌 경우 왼쪽 값을 반환하고, 그렇지 않으면 오른쪽 값 등을 반환한다는 의미입니다.
C#에서? 다음과 같이 숫자에 따라 사용법이 달라집니다. 그리고? ? 이 두 연산자의 의미는 다릅니다. 다음으로 기사에서 C#의 ?에 대해 자세히 소개하겠습니다. 구체적인 사용법은 무엇입니까? 모든 사람에게 도움이 되기를 바랍니다
[추천 과정: C# 언어 튜토리얼]
? (Nullable 유형)
Nullable 유형은 System.Nullable <T>
구조의 인스턴스입니다. Null 허용 유형은 기본 유형의 모든 값 T뿐만 아니라 추가 Null 값을 나타낼 수 있습니다. 기본 형식 T는 null을 허용하지 않는 값 형식일 수 있습니다. 그러나 T는 참조 유형이 될 수 없습니다.
Nullable 유형은 기본 유형의 정의되지 않은 값을 나타내는 데 사용될 수 있습니다. Null 허용 유형에는 다음과 같은 특징이 있습니다.
(1) Null 허용 유형에서는 참조 유형을 기반으로 Null 허용 유형을 생성하지 않고도 변수에 Null 값을 할당할 수 있습니다.
(2) Nullable 유형은 중첩된 Nullable 유형을 지원하지 않습니다.
(3) Nullable 유형은 var 유형을 지원하지 않습니다. Nullable과 var를 사용하면 컴파일 오류가 발생합니다
예:
// C# program to illustrate the // use of Nullable type using System; class GFG { // 主方法 static public void Main() { int ? a = null; int ? b = 2345; Console.WriteLine(a); Console.WriteLine(b); } }
출력 결과: 2345
? ? (Null 병합 연산자)
C#에서는 ?? 연산자를 Null 병합 연산자라고 합니다. 의미는 피연산자가 null이 아니면 왼쪽 피연산자를 반환하고, 그렇지 않으면 오른쪽 피연산자를 반환한다는 것입니다. ?? 연산자를 사용하지 않고 Null 허용 값 유형을 Null 허용이 아닌 값 유형에 할당하면 컴파일 시간 오류가 생성됩니다. 캐스트가 사용되고 null 허용 값 유형이 현재 정의되지 않은 경우 InvalidOperationException 예외가 발생합니다.
예:
//声明a和b int?a=null; int b; b=a??2;//b的值为2 a=6; b=a??8;//b的值为6
?: (삼항 연산자)
C#에는 if-else와 유사한 삼항 연산자라는 특수 연산자가 있습니다. 삼항 연산자는 두 값을 비교하고 이를 기반으로 값을 반환합니다. 삼항 연산자의 구문은 다음과 같습니다.
条件表达式?表达式1:表达式2;
모든 데이터 유형의 값을 반환할 수 있습니다.
예:
using System; namespace Tutpoint { class Program { public static void Compare(int a, int b) { string output = a > b ? "A 大于 B" : "B 大于 A"; Console.WriteLine(output); } static void Main(string[] args) { Program.Compare(66, 579); Console.ReadKey(); } } }
결과 출력은 다음과 같습니다. B는 A
요약: 위 내용은 이 기사의 전체 내용입니다. 모든 사람에게 도움이 되기를 바랍니다.
위 내용은 C#에서? 용도는 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!