嗔秤戻幣�哉膵�云利匈嬉蝕湊蛸賜�塋床四衲���萩晦編報炎嘔囚^泡仟 ̄云利匈�《超噌�殻窟�嵌虜隆輓麈觚翹瀘卉韮�仍仍�。� 烏御危列
昂昂慕汐 卦指云慕朕村 厘議慕尺 厘議慕禰 TXT畠云和墮 序秘慕杏 紗秘慕禰

VB2008貫秘壇欺娼宥(PDF鯉塀哂猟井)-及32嫗

梓囚徒貧圭�鮗� ○ 賜 ★ 辛酔堀貧和鍬匈��梓囚徒貧議 Enter 囚辛指欺云慕朕村匈��梓囚徒貧圭�鮗� ● 辛指欺云匈競何��
!!!!隆堋響頼��紗秘慕禰厮宴和肝写偬堋響��




           By default�察�everything in  is an object with a few basic properties and methods。 Four basic  

           methods are associated with every object�此�



                o  Equals�┌��此�Verifies the equality of two objects ��see Figure 3´3��。 



                o  GetHashCode�┌��此�Retrieves a unique number describing the object ��see Figure 3´4��。 Two  

                   objects with the same contents will return the same hash code。 



                o  GetType�┌��此�Retrieves the metadata associated with an object ��see Figure 3´5��。 Allows the  

                   program to play ^Are you a 。 。 。 �拭院�to dynamically determine which methods and proper

                   ties a type has。 It is used by IntelliSense to display a list box。 



                o  ToString�┌��此�Converts the contents of the type into a string ��see Figure 3´6��。 Note that the  

                   default CLR ToString�┌� implementations work only for value types。 


´´´´´´´´´´´´´´´´´´´´´´Page 79´´´´´´´´´´´´´´´´´´´´´´´

                                           CH AP T E R   3   *    L E AR N IN G   AB O U T   ST R I N G   M A N I PU L A TI O N S  57 



                              Calling Equals�┌� asks if variable 

                                      a has a value of 2 

 Dim a As Integer = 2 

 If a。Equals��2�� Then 

     Console。WriteLine�─�2 equals 2�察�as it should be;�� 

 End If 



                        This code will always be 

                        called because 2 equals 2 



Figure 3´3。 Equals�┌� is used to verify the equality of two objects。 



        Don¨t think of a�察�b�察�and c as values associated 

        with a variable。 Think of a�察�b�察�and c as having 

         contents associated with the variables。 The 

       contents of a and b match�察�the contents of c do 

               not match the contents of a and b。 



Dim a As Integer = 2                                The contents of a and b are 

Dim b As Integer = 2                               identical�察�thus�察�GetHashCode�┌� 

Dim c As Integer = 3 

                                                     returns the same number 



If a。GetHashCode�┌� = b。GetHashCode�┌� Then 

    Console。WriteLine�─�2 equals 2�察�as it should be;�� 

End If 



If c。GetHashCode�┌�  b。GetHashCode�┌� Then 

    Console。WriteLine�─�3 does not equal 2�察�as it should be;�� 

End If 



                The contents of c and b are not 

                  equal�察�so GetHashCode�┌� will 

                  return two different numbers 



Figure 3´4。 GetHashCode�┌� retrieves a number describing the object。  



     The four basic methods can be called on every variable that you declare。 You will use  

ToString�┌� when debugging or inspecting the state of an object instance during runtime。  

ToString�┌� returns a human´readable string that contains the state of the object instance。 

     You might use the GetType�┌� method occasionally�察�but your IDE and other tools will use  

it all the time。 Using GetType�┌��察�you have the ability to figure out the capabilities of a variable  

during the execution of a program。 In technical terms�察�GetType�┌� returns the formal metadata  

description of the type。 

     From reading the description of Equals�┌� and GetHashCode�┌��察�you would get the impression  

that these two functions serve the same purpose。 However�察�this is not the case。 


´´´´´´´´´´´´´´´´´´´´´´Page 80´´´´´´´´´´´´´´´´´´´´´´´

58        CH AP T E R   3   *    L E A R N IN G   AB OU T   ST R I N G   M A N I P U L AT IO N S   



               You know that a is a value type 

                 ��as explained in Chapter 1��。 

                However�察�a program does not                       By calling GetType�┌� and 

                 know that it is a value type。                     then IsValueType�察�the 

                                                                  program is dynamically 

           Dim a As Integer = 1                                  asking if a is a value type 



           If a。GetType�┌�。IsValueType = True Then 

               Console。WriteLine�─�a is a value type;�� 

           End If 



               This code will always be called 

              because a is always a value type 



           Figure 3´5。 GetType�┌� retrieves the metadata associated with an object。  



                 Variable a contains the value 

                       3 as a binary value                   Calling ToString�┌� will convert the 

                                                                  binary´based value into a 

                                                                    character´based value 

           Dim a As Integer = 3 



           Dim aAsAString As String = a。ToString�┌� 



           If aAsAString = ;3; Then 

               Console。WriteLine�─�3 has been converted into a string;�� 

           End If 



              The = sign is another way                          ^3 ̄ always equals ^3 ̄ 

                to test if ^3 ̄ equals ^3 ̄                           so this code runs 



           Figure 3´6。  ToString�┌� converts the contents of the type into a string。  



                Let¨s say you¨re moving and you¨ve packed two boxes containing kitchen items。 Both boxes  

           contain five red dishes�察�three silver forks�察�two copper knives�察�and two wineglasses。 If you pare  

          the boxes�察�both  Equals�┌� and GetHashCode�┌� will return equality�察�indicating the boxes contain  

          the same number and color of items。 It is important to understand that even though the two  

          boxes are unique instances containing unique articles�察�their contents are identical。 When you  

           pare object instances using Equals�┌� or GetHashCode�┌��察�you are paring the metadata  

           and value attributes�察�not the unique instances。 

                Now imagine the situation where one of the boxes has wineglasses from IKEA and the other  

          has wineglasses from Pier 1。 If you use the Equals�┌� method to pare the boxes�察�it
卦指朕村 貧匯匈 和匯匈 指欺競何 壘��1�� 家��1��
隆堋響頼��紗秘慕禰厮宴和肝写偬堋響��
梁椣戻幣�� 梁心弌傍議揖扮窟燕得胎��傍竃徭失議心隈才凪万弌誌育断蛍�輌臆惨軼僑〃�燕慕得珊辛參資誼持蛍才将刮襲潜��範寔亟圻幹慕得 瓜寡追葎娼得辛參資誼寄楚署衛、持蛍才将刮襲潜填��