⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chapter 3.mht

📁 C# Nuts and Bolt是学习C#的极好教程
💻 MHT
📖 第 1 页 / 共 4 页
字号:
!supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></SPAN></P>
<P class=3DCbase><SPAN style=3D"COLOR: windowtext">The comparison =
operators =3D=3D, !=3D=20
etc. get automatically overloaded to work with the user defined enums. =
As=20
mentioned earlier, enums are glorified numbers. <o:p></o:p></SPAN></P>
<P class=3DCbase><SPAN style=3D"COLOR: windowtext"><![if =
!supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></SPAN></P>
<P class=3DCprg><U>a.cs</U><o:p></o:p></P>
<P class=3DCprg>class zzz<o:p></o:p></P>
<P class=3DCprg>{<o:p></o:p></P>
<P class=3DCprg>public static void Main() <o:p></o:p></P>
<P class=3DCprg>{<o:p></o:p></P>
<P class=3DCprg>System.Console.WriteLine(yyy.a1 =3D=3D =
xxx.a1);<o:p></o:p></P>
<P class=3DCprg>}<o:p></o:p></P>
<P class=3DCprg>}<o:p></o:p></P>
<P class=3DCprg>enum yyy<o:p></o:p></P>
<P class=3DCprg>{<o:p></o:p></P>
<P class=3DCprg>a1 =3D 1,a2 =3D 4,a3=3D1<o:p></o:p></P>
<P class=3DCprg>}<o:p></o:p></P>
<P class=3DCprg>enum xxx<o:p></o:p></P>
<P class=3DCprg>{<o:p></o:p></P>
<P class=3DCprg>a1 =3D 1,a2 =3D 4,a3=3D1<o:p></o:p></P>
<P class=3DCprg>}<o:p></o:p></P>
<P class=3DCbase><SPAN style=3D"COLOR: windowtext"><![if =
!supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></SPAN></P>
<P class=3DCoutput><U>Compiler Error</U><o:p></o:p></P>
<P class=3DCoutput>a.cs(5,26): error CS0019: Operator '=3D=3D' cannot be =
applied to=20
operands of type 'yyy' and 'xxx'<o:p></o:p></P>
<P class=3DCbase><SPAN style=3D"COLOR: windowtext">The above error is a =
direct proof=20
stating that enums may be glorified numbers but cannot be used to =
compare enums=20
members from different families. All the other comparison operators work =
in=20
exactly the same way.<o:p></o:p></SPAN></P>
<P class=3DCbase><SPAN style=3D"COLOR: windowtext"><![if =
!supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></SPAN></P>
<P class=3DCbase><SPAN style=3D"COLOR: windowtext">C# gives the same =
weight to the=20
enum line of data types as provided to classes. Thus it goes to great =
extents to=20
make life easier for us when working with the enum data=20
types.<o:p></o:p></SPAN></P>
<P class=3DCbase><SPAN style=3D"COLOR: windowtext"><![if =
!supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></SPAN></P>
<P class=3DCbase><B><SPAN=20
style=3D"FONT-SIZE: 14pt; COLOR: windowtext; FONT-FAMILY: Tahoma">The =
Other Odds=20
and Ends<o:p></o:p></SPAN></B></P>
<P class=3DCbase><SPAN style=3D"COLOR: windowtext"><![if =
!supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></SPAN></P>
<P class=3DCprg><U>a.cs</U><o:p></o:p></P>
<P class=3DCprg>enum yyy <o:p></o:p></P>
<P class=3DCprg>{<o:p></o:p></P>
<P class=3DCprg>}<o:p></o:p></P>
<P class=3DCprg>class zzz<o:p></o:p></P>
<P class=3DCprg>{<o:p></o:p></P>
<P class=3DCprg>public static void Main() <o:p></o:p></P>
<P class=3DCprg>{<o:p></o:p></P>
<P class=3DCprg>yyy i =3D (yyy) -1 ; <o:p></o:p></P>
<P class=3DCprg>}<o:p></o:p></P>
<P class=3DCprg>}<o:p></o:p></P>
<P class=3DCbase><SPAN style=3D"COLOR: windowtext"><![if =
!supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></SPAN></P>
<P class=3DCoutput><U>Compiler Error</U><o:p></o:p></P>
<P class=3DCoutput>a.cs(8,10): error CS0118: 'yyy' denotes a 'class' =
where a=20
'variable' was expected<o:p></o:p></P>
<P class=3DCoutput>a.cs(8,9): error CS0075: To cast a negative value, =
you must=20
enclose the value in parentheses<o:p></o:p></P>
<P class=3DCbase><SPAN style=3D"COLOR: windowtext"><![if =
!supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></SPAN></P>
<P class=3DCbase><SPAN style=3D"COLOR: windowtext">To cast a -ve value, =
it must be=20
placed in parenthesis. This may be because of the fact that the unary =
minus is=20
also an operator and may confuse the compiler. In doubt, always use =
parenthesis.=20
An apple a day keeps the doctor away and an extra parenthesis has done =
no one=20
any harm.<o:p></o:p></SPAN></P>
<P class=3DCbase><SPAN style=3D"COLOR: windowtext"><![if =
!supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></SPAN></P>
<P class=3DCprg><U>a.cs</U><o:p></o:p></P>
<P class=3DCprg>enum eee<o:p></o:p></P>
<P class=3DCprg>{<o:p></o:p></P>
<P class=3DCprg>value__<o:p></o:p></P>
<P class=3DCprg>}<o:p></o:p></P>
<P class=3DCbase><SPAN style=3D"COLOR: windowtext"><![if =
!supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></SPAN></P>
<P class=3DCoutput><U>Compiler Error</U><o:p></o:p></P>
<P class=3DCoutput>a.cs(3,1): error CS0076: The enumerator name =
'value__' is=20
reserved and cannot be used<o:p></o:p></P>
<P class=3DCbase><SPAN style=3D"COLOR: windowtext"><![if =
!supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></SPAN></P>
<P class=3DCbase><SPAN style=3D"COLOR: windowtext">The compiler has a =
large number=20
of reserved words. It converts the code to a different form altogether. =
Only for=20
an enum does it not allow us to use the reserved word value__ as it must =
be=20
using the same word internally to keep track of the enum. That is what =
we think=20
but the right answer is only with the people who designed the language. =
The long=20
and short is that we are not allowed to use certain words in our code at =
certain=20
places. It is like the charge of the light brigade. Ours is not to =
reason why,=20
ours is but to do and die.<o:p></o:p></SPAN></P>
<P class=3DCbase><SPAN style=3D"COLOR: windowtext"><![if =
!supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></SPAN></P>
<P class=3DCprg><U>a.cs</U><o:p></o:p></P>
<P class=3DCprg>enum eee : byte<o:p></o:p></P>
<P class=3DCprg>{<o:p></o:p></P>
<P class=3DCprg>a =3D 255,b<o:p></o:p></P>
<P class=3DCprg>}<SPAN style=3D"mso-spacerun: yes">&nbsp; =
</SPAN><o:p></o:p></P>
<P class=3DCbase><SPAN style=3D"COLOR: windowtext"><![if =
!supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></SPAN></P>
<P class=3DCoutput><U>Compiler Error</U><o:p></o:p></P>
<P class=3DCoutput>a.cs(3,9): error CS0543: 'eee.b': the enumerator =
value is too=20
large to fit in its type<o:p></o:p></P>
<P class=3DCbase><SPAN style=3D"COLOR: windowtext"><![if =
!supportEmptyParas]><![endif]>&nbsp;<o:p></o:p></SPAN></P>
<P class=3DCbase>A byte can only store values from 0 to 255. In the case =
of an=20
enum, the value of enum member a is 255 and that of b is 256. However, a =
byte=20
cannot store such a large number. Thus the error is reported at b and =
not at a.=20
Also if we try and equate a to say 300, we get a different error =
message. This=20
overflow error is reserved exclusively for enums. Others not=20
invited.</P></DIV></BODY></HTML>

------=_NextPart_000_002D_01C7EA40.70F15860
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.vijaymukhi.com/documents/books/csadv/bpb.jpg

/9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a
HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy
MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCACVAMgDASIA
AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD0fRvi
94G1vYsWvQWsxiErR3wNvs6ZUs+ELAnorHoSMgZrtIJ4bq3iuLeWOaCVA8ckbBldSMggjggjnNc3
4SsLPU/hj4ds7+0gu7WTSrTfDPGJEbEaEZU8HBAP4VGfh1oFtcXF1oyXehXc7xO8ulXLQKTGRtzD
zEw6ghkIO5u5zQB1lFc3HpXiu1eZYPFFpcwM+6M6jpQklQbQCu6GSJSMgkfJnnGTio4dA8Ty3lzP
f+NJ0jfb5MGm6dBCkWBhuZRMzZ4PXjntgAA6iuH1b4seFtPvILGwnn16/n5S00SMXTlcMScg7eNp
yM7hkHGOauSfDfwveapDqmqWMmrahGm3z9RnecNnOf3bHywMsxCqoUE/KBxXUQQQ2tvFb28UcMES
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
AKKKKACiiigD/9k=

------=_NextPart_000_002D_01C7EA40.70F15860--

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -