°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡
¡¡S¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡The¡¡notion¡¡of¡¡a¡¡left¡hand¡¡side¡¡and¡¡a¡¡right¡hand¡¡side¡¡as¡¡two¡¡separate¡¡parts¡¡is¡¡important¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡when¡¡you¡¡consider¡¡this¡¡code£º¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡a¡¡=¡¡a¡¡£«¡¡1¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡In¡¡the¡¡example£»¡¡the¡¡variable¡¡a¡¡is¡¡added¡¡with¡¡the¡¡value¡¡1¡¡and¡¡assigned¡¡to¡¡the¡¡variable¡¡a£»¡¡but¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡these¡¡operations¡¡do¡¡not¡¡happen¡¡at¡¡the¡¡same¡¡time£»¡¡they¡¡happen¡¡sequentially¡£¡¡First£»¡¡the¡¡right
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡hand¡¡side¡¡is¡¡executed£»¡¡and¡¡then¡¡the¡¡left¡hand¡¡side¡¡is¡¡executed¡£¡¡By¡¡executing¡¡the¡¡left¡hand¡¡side£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡the¡¡existing¡¡value¡¡of¡¡the¡¡variable¡¡a¡¡is¡¡overwritten¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Let¡¯s¡¡consider¡¡another¡¡example£º¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡b¡¡=¡¡a¡¡=¡¡a¡¡£«¡¡1¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡If¡¡you¡¡were¡¡to¡¡run¡¡this¡¡code£»¡¡b¡¡would¡¡not¡¡be¡¡assigned£»¡¡because¡¡the¡¡example¡¡has¡¡mixed¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡operators£»¡¡which¡¡translates¡¡to¡¡this£º¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Dim¡¡b¡¡As¡¡Integer¡¡=¡¡CInt£¨¡£¨£¨a¡¡=¡¡£¨a¡¡£«¡¡1£©£©¡¡¡·¡¡False£©£©¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡The¡¡result¡¡is¡¡not¡¡what¡¡you¡¡expected£»¡¡and¡¡not¡¡even¡¡close¡¡to¡¡what¡¡you¡¡were¡¡trying¡¡to¡¡achieve¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¨and¡¡isn¡¯t¡¡even¡¡allowed¡¡with¡¡Option¡¡Strict¡¡set¡¡to¡¡On£©¡£¡¡What¡¡this¡¡illustrates¡¡is¡¡that¡¡you¡¡need¡¡to¡¡be¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡careful¡¡with¡¡operators¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Bitwise¡¡Operators¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Bitwise¡¡operators¡¡are¡¡used¡¡to¡¡access¡¡and¡¡manipulate¡¡individual¡¡bits¡¡in¡¡a¡¡whole¡¡number¡£¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡As¡¡you¡¡learned¡¡in¡¡Chapter¡¡2£»¡¡the¡¡puter¡¡sees¡¡numbers¡¡as¡¡binary£»¡¡with¡¡only¡¡two¡¡unique¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡identifiers¡£¡¡Thus£»¡¡whole¡¡numbers¡¡could¡¡be¡¡viewed¡¡as¡¡arrays¡¡of¡¡Boolean¡¡values£»¡¡as¡¡there¡¡are¡¡only¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡two¡¡valid¡¡values£º¡¡1¡¡and¡¡0¡¡or¡¡True¡¡and¡¡¡¡False¡£¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Let¡¯s¡¡look¡¡at¡¡example¡¡of¡¡using¡¡the¡¡bitwise¡¡operators¡£¡¡Say¡¡that¡¡you¡¡want¡¡to¡¡know¡¡whether¡¡a¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡person¡¡is¡¡tall£»¡¡wears¡¡hats£»¡¡and¡¡runs¡¡slowly¡£¡¡Using¡¡Boolean¡¡data¡¡members£»¡¡you¡¡would¡¡write¡¡the¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡following¡¡code¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Class¡¡PersonWithAttributes¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Public¡¡IsPersonTall¡¡As¡¡Boolean¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Public¡¡WearsHats¡¡As¡¡Boolean¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Public¡¡RunsSlowly¡¡As¡¡Boolean¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡End¡¡Class¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡In¡¡this¡¡definition£»¡¡each¡¡attribute¡¡of¡¡PersonWithAttributes¡¡is¡¡its¡¡own¡¡data¡¡member¡£¡¡Another¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡way¡¡to¡¡achieve¡¡the¡¡same¡¡effect¡¡is¡¡to¡¡consider¡¡each¡¡attribute¡¡as¡¡its¡¡own¡¡binary¡¡flag¡¡that¡¡is¡¡encoded¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡into¡¡PersonWithAttributes¡£¡¡The¡¡class¡¡would¡¡be¡¡rewritten¡¡as¡¡follows£º¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Class¡¡PersonWithAttributes¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Public¡¡Attributes¡¡As¡¡Integer¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡End¡¡Class¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡In¡¡the¡¡rewritten¡¡example£»¡¡the¡¡Boolean¡¡attributes¡¡are¡¡encoded¡¡into¡¡the¡¡data¡¡member¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Attributes¡¡using¡¡bitwise¡¡operators¡£¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡To¡¡encode¡¡a¡¡flag¡¡in¡¡a¡¡number¡¡means¡¡to¡¡tweak¡¡the¡¡individual¡¡binary¡¡bits¡¡of¡¡a¡¡number¡£¡¡To¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡access¡¡the¡¡individual¡¡bits£»¡¡you¡¡need¡¡to¡¡create¡¡constant¡¡numbers¡¡that¡¡are¡¡a¡¡power¡¡of¡¡2¡£¡¡We¡¡use¡¡a¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡441¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡CH¡¡AP¡¡T¡¡E¡¡R¡¡¡¡¡¡1¡¡6¡¡¡¡¡¡¡ö¡¡¡¡¡¡¡¡L¡¡E¡¡A¡¡R¡¡N¡¡I¡¡N¡¡G¡¡¡¡¡¡A¡¡B¡¡OU¡¡T¡¡¡¡¡¡O¡¡TH¡¡E¡¡R¡¡¡¡¡¡V¡¡IS¡¡U¡¡AL¡¡¡¡¡¡B¡¡A¡¡SI¡¡C¡¡¡¡T¡¡E¡¡C¡¡HN¡¡IQ¡¡U¡¡E¡¡S¡¡419¡¡
power¡¡of¡¡2¡¡convention¡¡because¡¡binary¡¡is¡¡a¡¡counting¡¡system¡¡based¡¡on¡¡the¡¡power¡¡of¡¡2¡£¡¡Thus£»¡¡the¡¡¡¡
three¡¡Boolean¡¡data¡¡members¡¡are¡¡converted¡¡to¡¡constants£º¡¡
Const¡¡isTall¡¡As¡¡Integer¡¡=¡¡1¡¡
Const¡¡wearsHats¡¡As¡¡Integer¡¡=¡¡2¡¡
Const¡¡runsSlow¡¡As¡¡Integer¡¡=¡¡4¡¡¡¡
¡¡¡¡¡¡¡¡¡¡Now¡¡you¡¡could¡¡create¡¡a¡¡person¡¡that¡¡is¡¡tall¡¡and¡¡runs¡¡slowly£»¡¡like¡¡this£º¡¡
Dim¡¡person¡¡As¡¡PersonWithAttributes¡¡=¡¡New¡¡PersonWithAttributes£¨£©¡¡
person¡£Attributes¡¡=¡¡isTall¡¡Or¡¡runsSlow¡¡
¡¡¡¡¡¡¡¡¡¡The¡¡variable¡¡person¡£Attributes¡¡is¡¡assigned¡¡the¡¡operations¡¡of¡¡isTall¡¡and¡¡runsSlow¡£¡¡So¡¡if¡¡¡¡
isTall¡¡is¡¡0001£»¡¡and¡¡runsSlow¡¡is¡¡0100£»¡¡taking¡¡the¡¡bitwise¡¡OR¡¡£¨Or£©¡¡of¡¡the¡¡two¡¡values¡¡results¡¡in¡¡0101¡£¡¡
¡¡¡¡¡¡¡¡¡¡A¡¡bitwise¡¡OR¡¡is¡¡when¡¡you¡¡pare¡¡two¡¡values£»¡¡and¡¡if¡¡either¡¡value¡¡is¡¡nonzero£»¡¡then¡¡the¡¡¡¡
answer¡¡is¡¡nonzero¡£¡¡If¡¡you¡¡were¡¡to¡¡convert¡¡the¡¡binary¡¡number¡¡into¡¡a¡¡decimal¡¡number£»¡¡you¡¡would¡¡¡¡
get¡¡the¡¡value¡¡of¡¡5¡£¡¡You¡¡could¡¡verify¡¡that¡¡the¡¡person¡¡isTall¡¡like¡¡this£º¡¡
If¡¡£¨person¡£Attributes¡¡And¡¡isTall£©¡¡¡¡0¡¡Then¡¡
¡¡¡¡¡¡¡¡Console¡£WriteLine£¨¡¨Person¡¡is¡¡tall¡¨£©¡¡
Else¡¡¡¡
¡¡¡¡¡¡¡¡Console¡£WriteLine£¨¡¨Person¡¡is¡¡not¡¡tall¡¨£©¡¡
End¡¡If¡¡
¡¡¡¡¡¡¡¡¡¡A¡¡bitwise¡¡shift¡¡is¡¡the¡¡shifting¡¡of¡¡the¡¡bits¡¡to¡¡the¡¡left¡¡or¡¡to¡¡the¡¡right¡¡by¡¡the¡¡number¡¡of¡¡places¡¡indi
cated¡¡by¡¡the¡¡shift¡£¡¡The¡¡following¡¡code¡¡demonstrates¡¡shifting¡¡the¡¡bits¡¡two¡¡places¡¡to¡¡the¡¡left¡¡£¨¡·¡¡2¡¡
¡¡¡¡¡¡¡¡¡¡The¡¡result¡¡is¡¡2£»¡¡which¡¡has¡¡the¡¡binary¡¡value¡¡10¡£¡¡
¡¡¡¡¡¡¡¡¡¡For¡¡the¡¡most¡¡part£»¡¡you¡¡probably¡¡will¡¡not¡¡use¡¡the¡¡binary¡¡shift¡¡operators¡£¡¡Unless¡¡you¡¡are¡¡dealing¡¡¡¡
with¡¡hardware¡related¡¡programming¡¡£¨such¡¡as¡¡GUI¡¡interactions£©£»¡¡whatever¡¡you¡¡can¡¡do¡¡with¡¡¡¡
flags¡¡can¡¡be¡¡replicated¡¡using¡¡a¡¡bination¡¡of¡¡Boolean¡¡types¡¡and¡¡structures¡£¡¡However£»¡¡when¡¡¡¡
you¡¡do¡¡encounter¡¡bitwise¡¡operators£»¡¡you¡¡will¡¡recognize¡¡what¡¡they¡¡are¡¡doing¡£¡¡¡¡
Modulus¡¡
The¡¡modulus¡¡operator¡¡£¨Mod£©¡¡is¡¡very¡¡useful¡¡when¡¡you¡¡want¡¡to¡¡perform¡¡division¡¡operations¡¡and¡¡¡¡
need¡¡to¡¡know¡¡how¡¡much¡¡is¡¡left¡¡over¡£¡¡For¡¡example£»¡¡the¡¡following¡¡calculation¡¡yields¡¡a¡¡value¡¡of¡¡3¡£¡¡
Dim¡¡a¡¡As¡¡Integer¡¡=¡¡17¡¡/¡¡5¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡442¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
420¡¡¡¡¡¡¡¡¡¡¡¡¡¡CH¡¡AP¡¡T¡¡E¡¡R¡¡¡¡¡¡1¡¡6¡¡¡¡¡¡¡ö¡¡¡¡¡¡¡¡L¡¡E¡¡A¡¡R¡¡N¡¡I¡¡N¡¡G¡¡¡¡¡¡A¡¡B¡¡OU¡¡T¡¡¡¡¡¡O¡¡TH¡¡E¡¡R¡¡¡¡¡¡V¡¡IS¡¡U¡¡AL¡¡¡¡¡¡B¡¡A¡¡SI¡¡C¡¡¡¡TE¡¡C¡¡H¡¡N¡¡IQ¡¡U¡¡E¡¡S¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Yet¡¡because¡¡it¡¡is¡¡an¡¡integer¡¡division£»¡¡you¡¡don¡¯t¡¡know¡¡if¡¡the¡¡value¡¡is¡¡evenly¡¡divided¡¡by¡¡5¡£¡¡The¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡following¡¡calculation¡¡lets¡¡you¡¡figure¡¡out¡¡the¡¡remainder¡¡for¡¡the¡¡division¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Dim¡¡remainder¡¡As¡¡Integer¡¡=¡¡17¡¡Mod¡¡5¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Increment¡¡and¡¡Decrement¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡The¡¡increment¡¡£¨£«=£©¡¡and¡¡decrement¡¡£¨¡¡¡=£©¡¡operators¡¡are¡¡useful¡¡in¡¡place¡¡of¡¡the¡¡addition¡¡and¡¡subtrac
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡tion¡¡operators¡£¡¡Visual¡¡Basic¡¡also¡¡has¡¡the¡¡*=¡¡and¡¡/=¡¡operators£»¡¡which¡¡you¡¡can¡¡use¡¡in¡¡place¡¡of¡¡the¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡multiplication¡¡and¡¡division¡¡operators¡£¡¡The¡¡idea¡¡behind¡¡these¡¡operators¡¡is¡¡to¡¡perform¡¡an¡¡operation¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡on¡¡the¡¡variable¡¡itself¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Let¡¯s¡¡say¡¡you¡¡execute¡¡this¡¡code£º¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Dim¡¡a¡¡As¡¡Integer¡¡=¡¡2¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡a¡¡£«=¡¡1¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Then¡¡after¡¡the¡¡increment¡¡operation£»¡¡the¡¡variable¡¡a¡¡will¡¡have¡¡a¡¡value¡¡of¡¡3¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Overloading¡¡Operators¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Suppose¡¡you¡¡want¡¡to¡¡implement¡¡a¡¡special¡¡type£»¡¡such¡¡as¡¡a¡¡plex¡¡number¡¡type£»¡¡and¡¡want¡¡to¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡support¡¡the¡¡£«¡¡sign¡£¡¡To¡¡do¡¡so£»¡¡you¡¡would¡¡need¡¡to¡¡implement¡¡the¡¡£«¡¡operator£»¡¡which£»¡¡in¡¡turn£»¡¡over
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡loads¡¡the¡¡£«¡¡operator¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡As¡¡an¡¡example£»¡¡let¡¯s¡¡walk¡¡through¡¡implementing¡¡the¡¡£«¡¡operator¡¡for¡¡the¡¡plex¡¡number¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡type¡£¡¡plex¡¡numbers¡¡are¡¡numbers¡¡that¡¡have¡¡two¡¡parts£º¡¡real¡¡and¡¡imaginary¡£¡¡For¡¡example£»¡¡a¡¡£«¡¡b¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡is¡¡a¡¡plex¡¡number£»¡¡where¡¡a¡¡is¡¡the¡¡real¡¡part¡¡and¡¡b¡¡is¡¡the¡¡imaginary¡¡part¡£¡¡To¡¡add¡¡a¡¡plex¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡number£»¡¡you¡¡add¡¡the¡¡real¡¡parts£»¡¡and¡¡then¡¡add¡¡the¡¡imaginary¡¡parts£»¡¡and¡¡that¡¡gives¡¡you¡¡the¡¡new¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡number¡£¡¡The¡¡following¡¡is¡¡the¡¡plex¡¡number¡¡type£»¡¡plexType£»¡¡declaration¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Public¡¡NotInheritable¡¡Class¡¡plexType¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Private¡¡ReadOnly¡¡_imaginary¡¡As¡¡Double¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Private¡¡ReadOnly¡¡_real¡¡As¡¡Double¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Public¡¡Sub¡¡New£¨ByVal¡¡real¡¡As¡¡Double£»¡¡ByVal¡¡imaginary¡¡As¡¡Double£©¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_real¡¡=¡¡real¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_imaginary¡¡=¡¡imaginary¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡End¡¡Sub¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Public¡¡Overrides¡¡Function¡¡ToString£¨£©¡¡As¡¡String¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Return¡¡String¡£Concat£¨New¡¡Object£¨£©¡¡£û¡¨£¨¡¨£»¡¡_real£»¡¡¡¨£©¡¡£¨¡¨£»¡¡_imaginary£»¡¡¡¨£©i¡¨£ý£©¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡End¡¡Function¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Public¡¡ReadOnly¡¡Property¡¡Imaginary£¨£©¡¡As¡¡Double¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Get¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Return¡¡_imaginary¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡End¡¡Get¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡End¡¡Property¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡443¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡CH¡¡AP¡¡T¡¡E¡¡R¡¡¡¡¡¡1¡¡6¡¡¡¡¡¡¡ö¡¡¡¡¡¡¡¡L¡¡E¡¡A¡¡R¡¡N¡¡I¡¡N¡¡G¡¡¡¡¡¡A¡¡B¡¡OU¡¡T¡¡¡¡¡¡O¡¡TH¡¡E¡¡R¡¡¡¡¡¡V¡¡IS¡¡U¡¡AL¡¡¡¡¡¡B¡¡A¡¡SI¡¡C¡¡¡¡T¡¡E