Cái cử loại hình

Máy tính biên trình thuật ngữ
Cất chứa
0Hữu dụng +1
0
Cái cử loại hình ở C# hoặc C++,java,VBChờ một ítMáy tính biên trình ngôn ngữTrung là một loại cơ bản số liệu loại hình mà không phải cấu tạoSố liệu loại hình,Mà ởC ngôn ngữChờ máy tính biên trình ngôn ngữ trung là một loại cấu tạo số liệu loại hình[1].Nó dùng cho thanh minh một tổ mệnh danh hằng số, đương một cái lượng biến đổi có vài loại khả năng lấy giá trị khi, có thể đem nó định nghĩa vì cái cử loại hình.
Cái cử có thể căn cứ Integer, Long, Short hoặc Byte trung tùy ý một loại số liệu loại hình tới sáng tạo một loại kiểu mới lượng biến đổi. Loại này lượng biến đổi có thể thiết trí vì đã định nghĩa một tổ bên trong một cái, hữu hiệu mà phòng ngừa người dùng cung cấp không có hiệu quả giá trị. Nên lượng biến đổi có thể làm cho số hiệu càng thêm rõ ràng, bởi vì nó có thể miêu tả riêng giá trị.
Tiếng Trung danh
Cái cử loại hình
Ngoại văn danh
Enumeration types
Hành nghiệp
Biên trình
Sử dụng cảnh tượng
Máy tính biên trình

Khái niệm

Bá báo
Biên tập
Ở C# hoặc C++,java chờ một ítMáy tính biên trình ngôn ngữTrung, cái cử loại hình là một loại cơ bảnSố liệu loại hìnhMà không phải cấu tạo số liệu loại hình, mà ở C ngôn ngữ chờ máy tính biên trình ngôn ngữ trung, nó là một loại cấu tạo số liệu loại hình. Cái cử loại hình dùng nhiều thúc bảng với thanh minh một tổ mệnh danh hằng số, đương một cái lượng biến đổi có vài loại khả năng lấy giá trị khi, có thể đem nó định nghĩa vì cái cử loại hình.
Định nghĩa:Là chỉ đem hộ nhiệt thúc giục lượng biến đổi giá trị nhất nhất liệt ra tới, lượng biến đổi giá trị chỉ giới hạn trong liệt kê ra tới giá trị trong phạm vi.
Sử dụng cách thức:Cái cử loại hình đặt ởCửa sổ thể mô khối,Tiêu chuẩn mô khốiHoặc xài chung mô khối trung thanh minh bộ phận, hàn bắn đà thông qua enum câu nói tới định nghĩa.
.Cách thức: [public|private] enum name
membername[=constantexpression]
membername[=constantexp lập tuần quyền ression]
(maomi)
…Gian mật nhiệt..
End enum
public: Tỏ vẻ nên cái cử loại thừa cảnh hình ở toàn bộ công trình bảo khương mao hung trung đều là có thể thấy được ( thiếu tỉnh )
private: Tỏ vẻ cái cử loại hình chỉ ở sở thanh minh mô khối trung là có thể thấy được. Name: Cái cử loại hình tên. Cần thiết là một cái hợp phápVBĐánh dấu phù,Ở định nghĩa nên cái cử loại hình lượng biến đổi hoặc tham số khi dùng nên tên tới chỉ định loại hình.
Membername: Chỉ định nên cái cử loại hình tổ mấy lê thành nguyên tố tên.
Constantexpression: Cái cử loại hình tạo thành nguyên tố giá trị. Nếu không có chỉ định cụ thể giá trị, tắc sở hữu phú giá trị hoặc là 0 hoặc là so này trực tiếp đi đầu giá trị đại 1. Nguyên tố giá trị cũng có thể là khác enum loại hình.VB trung tướng cái cử trung nguyên tố giá trị ấn trường số nguyên xử lý. Nếu đem một cáiPhù điểmTrị số phú cấp một cái cái cử trung nguyên tố,VB sẽ đem nên giá trị lấy chỉnh vì nhất tiếp cận trường số nguyên.

Cái cử thành viên

Bá báo
Biên tập
Cái cử lượng biến đổi thanh minh cùng phú giá trị:Định nghĩa cái cử loại hình sau, có thể thanh minh nên cái cử loại hình lượng biến đổi, sau đó sử dụng nên lượng biến đổi tồn trữ cái cử nguyên tố trị số.
Cái cử lượng biến đổi:Chỉ dùng cái cử loại hình định nghĩa lượng biến đổi. Lượng biến đổi cùng tham số đều có thể định nghĩa vì cái cử loại hình. Quá trìnhPhản hồi giá trịCũng có thể là cái cử loại hình.
Cách thức:dim cái cử lượng biến đổi danh as cái cửLoại hình danh
Chú ý:Cứ việc thông thường chỉ đem cái cử nguyên tố trị số phú cấp cái cử loại hình lượng biến đổi, nhưng cũng có thể đem bất luận cái gì trường số nguyên trị số phú cấp nên lượng biến đổi. Đương đối cùng cái cử hằng số không tương quanLượng biến đổi phú giá trịKhi,Vb sẽ không sinh ra sai lầm.
Cái cử câu nói chỉ có thể ở mô khối cấp bậc trung xuất hiện, không thể dùng mô khối danh tới hạn định cái cử loại hình.
(1) cái cử thanh minh:Cái cử thanh minh dùng cho thanh minh tân cái cử loại hình.
Phỏng vấn tu từ phù enum cái cử danh: Cơ sở loại hình { Cái cử thành viên, Cái cử thành viên, ... };
Cơ sở loại hình cần thiết có thể tỏ vẻ nên cái cử trung định nghĩa sở hữu cái cử trị số. Cái cử thanh minh có thể hiện thức mà thanh minh byte, sbyte, short, ushort, int, uint, long hoặc ulong loại hình làm đối ứng cơ sở loại hình. Không có hiện thức mà thanh minh cơ sở loại hình cái cử thanh minh ý nghĩa sở đối ứng cơ sở loại hình là int.
(2) cái cử thành viên
Cái cử thành viên là nên cái cử loại hình mệnh danh hằng số. Tùy ý hai cái cái cử thành viên không thể có tương đồng tên. Mỗi cái cái cử thành viên đều có tương quan liên hằng số giá trị. Này giá trị loại hình chính là cái cử cơ sở loại hình. Mỗi cái cái cử thành viên hằng số giá trị cần thiết ở nên cái cử cơ sở loại hình trong phạm vi.
Thí dụ mẫu:
public enum TimeofDay:uint { Morning=-3, Afternoon=-2, Evening=-1 };
Sinh raBiên dịch khiSai lầm, nguyên nhân là hằng số giá trị -1, -2 cùng –3 không ở cơ sởChỉnh hìnhuint trong phạm vi.
(3) cái cử thành viênCam chịu giá trị
Ở cái cử loại hình trung thanh minh cái thứ nhất cái cử thành viên nó mặc giá trị bằng không.
Về sau cái cử thành viên giá trị là đem trước một cái cái cử thành viên ( dựa theo văn bản trình tự ) giá trị thêm 1 được đến. Như vậy gia tăng sau giá trị cần thiết ở nên cơ sở loại hình nhưng tỏ vẻ giá trị trong phạm vi; nếu không, sẽ xuất hiện biên dịch khi sai lầm.
Thí dụ mẫu:
public enum TimeofDay:uint { Morning, Afternoon, Evening };
Morning giá trị vì 0,Afternoon giá trị vì 1,Evening giá trị vì 2.
(4) vì cái cử thành viên biểu hiệnPhú giá trị
Cho phép nhiều cái cử thành viên có tương đồng giá trị.
Không có biểu hiện phú giá trị cái cử thành viên giá trị, luôn là trước một cái cái cử thành viên giá trị +1.
Thí dụ mẫu
public enum Number { a=1, b, c=1, d };
b giá trị vì 2,d giá trị vì 2.
Chú ý: Trở lênCái cử giá trịĐều không thể vượt qua nó cơ sở loại hình phạm vi. Nếu không sẽ báo sai.
(5) cái cử loại hình cùng cơ sở loại hình thay đổi
Cơ sở loại hình không thể ẩn thức thay đổi vì cái cử loại hình
Cái cử loại hình cũng không thể ẩn thức thay đổi làm cơ sở loại hình
Thí dụ mẫu
public enum Number { a, b, c, d }; class Test { public static void Main() { int i=Number.a;// sai lầm, phải cưỡng chế loại hình thay đổi (int)Number.a Number n; n=2 // sai lầm, phải cưỡng chế loại hình thay đổi (Number)2 } }
(6)System.Enum loại hình
System.Enum loại hình là sở hữu cái cử loại hìnhTrừu tượng cơ loại,Hơn nữa từ System.Enum kế thừa thành viên ở bất luận cái gì cái cử loại hình trung đều nhưng dùng.
System.Enum bản thân không phải cái cử loại hình. Tương phản, nó là một cái loại loại hình, sở hữu cái cử loại hình đều là từ nó đẻ ra.
System.Enum từ loại hình System.ValueType đẻ ra
(7) sử dụng cái cử loại hình
using System; public enum TimeofDay { Morning, Afternoon, Evening }; class Test { static void WriteGreeting(TimeofDay timeofDay) { switch(timeofDay) { case TimeofDay.Morning: Console.WriteLine( "good morning" ); break; case TimeofDay.Afternoon: Console.WriteLine( "good afternoon" ); break; case TimeofDay.Evening: Console.WriteLine( "good evening" ); break; } } static void Main() { WriteGreeting(TimeofDay.Morning); WriteGreeting(TimeofDay.Evening); WriteGreeting(TimeofDay.Afternoon); } }

Thao tác

Bá báo
Biên tập
① phú giá trị giải toán COLOR: =RED; chú ý loại hình nhất trí không thể ra ngoài;
③ đưa vào cái cử lượng biến đổi giá trị chỉ có thể dùngPhú giá trị câu nóiĐạt được, không cần dùng READ câu nói;
④ phát ra không thể trực tiếp dùng WRITE câu nói trực tiếp phát ra cái cử nguyên tố, hệ thống sẽ cho rằng nó là một cái
Chưa định nghĩa lượng biến đổi danh; cần thiết phú cấp một cái cái cử lượng biến đổi, sau đó phát ra cấp lượng biến đổi giá trị;
Nếu muốn dùng READ cùng WRITE câu nói, làm sao bây giờ?
VAR I: INTEGER;
COLOR: ( RED, YELLOW, BLUE );
BEGIN
WRITELN ( ‘0—RED, 1—YELLOW, 2—BLUE ’ );
READLN ( I );
CASE I OF
:COLOR: =RED;: COLOR: =YELLOW;: COLOR: =BLUE END;
{ số liệu xử lý }
CASE COLOR OF
RED: WRITELN ( ‘RED’ );
YELLOW: WRITELN ( ‘YELLOW’ );
BLUE: WRITELN ( ‘BLUE’ )
END;
END.

Ứng dụng nêu ví dụ

Bá báo
Biên tập
Lệ nhị: Một nhà tiệm trái cây bán ra 4 loại trái cây, mỗi kg giá cả phân biệt là:Quả táo1.15 nguyên,Quả cam1.20 nguyên,Chuối0.95 nguyên,Dứa0.85 nguyên. Biên đoạn đường tự sử người bán hàng chủ yếu từ bàn phím thượng đánh vào hàng hoá số hiệu cập trọng lượng, máy tính đem biểu hiện hàng hoá danh, đơn giá, trọng lượng cập tổng giá trị. Hàng hoá số hiệu vì quả táo 1, quả cam 2, chuối 3, dứa 4.
CONST PA=1.15; PO=1.20; PB=0.95;PP=0.85;
TYPE FRUITTYPE = ( APPLE, ORANGE, BANANA, PINEAPPLE );
VAR TOTAL, WEIGHT, P: REAL; { trọng lượng cùng giá cả }
CODE: INTEGER; { số hiệu }
FRUIT: FRUITTYPE;
BEGIN
READLN ( CODE, WEIGHT );
WHILE ( CODE>=1 ) AND ( CODE<=4 ) DO
BEGIN
CASE CODE OF
1: FRUIT:=APPLE;
2: FRUIT:=ORANGE;
3: FRUIT:=BANANA;
4: FRUIT:=PINEAPPLE;
END;
CASE FRUIT OF
APPLE: BEGIN WRITE(‘APPLE’); P:=PA END;
ORANGE: BEGIN WRITE(‘ORANGE’); P:=PO END;
BANANA: BEGIN WRITE(‘BANANA’); P:=PB END;
PINEAPPLE: BEGIN WRITE(‘PINEAPPLE’); P:=PP END;
END;
WRITE(P:6:2, ‘ * ’, WEIGHT:6:2, ‘ = ’);
WRITELN(p*WEIGHT:8:2);
READLN(CODE,WEIGHT);
END;
END.
C trung thí dụ mẫu:
typedef enum {
DEMO_LABEL_A = 0,
DEMO_LABEL_B,
DEMO_LABEL_C
DEMO_LABEL_D
} demo_label_t;
demo_label_t demo_label;
/* đối demo phú giá trị thao tác */
if (demo_label == DEMO_LABEL_C)
printf ( "the label is C" );