집 >백엔드 개발 >C#.Net 튜토리얼 >C# 학습일기 11---열거형(enum) 유형의 데이터 유형
앞서 소개한 것은 모두 값 유형입니다. 이 정도 글을 쓴 후에는 값 유형이 무엇인지 정리해보겠습니다. 간단히 말해서, 이 유형의 변수는 포함된 값을 직접 저장합니다. 여기에서는 이를 C 언어의 문자열과 비교합니다. char ch[6] = "HC666"; 선생님은 ch가 실제로 "HC666"의 주소를 참조하는 데 사용되며 액세스 주소를 통해 데이터에 액세스한다고 말했습니다. 문자열의 경우에도 마찬가지입니다. 따라서 C#의 String 문자열은 값 형식이 아니라 참조 형식입니다. . 구조체 유형의 경우에는 그렇지 않습니다. 직접 할당을 통해 변수 저장 내용이 변경되므로 값 유형입니다.
값 유형 열거(enum) 유형:
열거(enum): 실제로 논리적으로 분리할 수 없는 정수 값 집합에 대해 기억하기 쉬운 기호를 제공합니다. 예를 들어 일요일인데 영화를 보기 위해 영화표를 샀습니다 좌석번호가 좋아보였어요 --- 66번. 번호대로 좌석을 찾았는데 좋은 좌석이였어요 --- 2번 5행째라서 즐겁게 영화를 감상했습니다. 실제로 제가 있는 상영실의 66번 숫자는 2행 5열에 반영되어 있습니다. 이것을 열거라고 합니다.
열거형 변수 선언:
enum 变量名 { 标识符列表 } ;
참고:
식별자 목록에서 요소는 쉼표로 구분됩니다. 🎜>
열거 목록의 각 기호는 이전 기호보다 큰 정수 값을 나타냅니다. 기본적으로 첫 번째 열거 기호는 0을 나타내지만 물론 수정할 수도 있습니다. 🎜>0을 입력합니다:나중에 암시적 변환과 명시적 변환에서 코드에 나타나는 강제 유형 변환에 대해 구체적으로 작성하겠습니다. 지금은 소개하지 않겠습니다. .
구조체(struct) 유형과 열거형(enum) 유형 비교: 항상 Struct 유형과 Enum 유형을 구분하지 못하는 동급생이 있습니다. . , 가끔 다음과 같은 오류 코드를 작성합니다:using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Test { class Program { //定义 enum 类型 以0开始递增 enum weekday { Sun, Mon, tue, Wed, thu, Fri, Sat //若要改变默认值只需 (Sun = 2, Mon, tue, Wed, thu, Fri, Sat)以2开始递增+1 }; static void Main(string[] args) { weekday wek; Console.WriteLine("输入0~6一个数字: "); int i = int.Parse(Console.ReadLine()); wek = (weekday)i; //强制类型转换,将int类型转化为 weekday 类型 Console.WriteLine("{0} 是 {1}", i, wek); } } }위의 오류를 방지하기 위해 여기서는 이들 사이의 차이점에 대해 설명하겠습니다. 구조체 타입에 대해서는 이미 그 안에 있는 데이터 타입이 여러 가지 다른 타입이 될 수 있다고 언급했습니다. 즉, 구조체 타입은 다양한 타입의 데이터로 구성된 새로운 타입이며, 구조체 타입 변수의 값은 다음과 같습니다. 각 멤버의 값이 결합됩니다. 예를 들면 다음과 같습니다.
enum wek { int a,b,c; string d,e,f; }wek w를 결정합니다. 이때 w는 a의 값이 1(w.a)임을 나타낼 수도 있고, b의 값이 2( w.b) 열거형 변수는 특정 시간에 열거형 목록의 특정 요소 값만 사용할 수 있습니다. 예를 들어 앞서 작성한 enum weekday 프로그램에서는 wek는 특정 시간만 나타낼 수 있습니다. Sun과 Mon을 동시에 나타낼 수 없는 값, wek = (weekday) 2 이때, wek은 화요일만 나타낼 수 있고 그 외에는 나타낼 수 없습니다. . 위 내용은 C# 학습일기 11---Data Types의 열거형(enum)형 내용입니다. .php.cn)!