parse啥意思 C#中的“int.TryParse”怎樣用?
C#中的“int.TryParse”怎樣用? 內(nèi)部解析()是一種轉(zhuǎn)換,表示將數(shù)值內(nèi)容的字符串轉(zhuǎn)換為int如果字符串為空,則拋出argumentnullexception異常;如果字符串內(nèi)容不是數(shù)字,則
C#中的“int.TryParse”怎樣用?
內(nèi)部解析()是一種轉(zhuǎn)換,表示將數(shù)值內(nèi)容的字符串轉(zhuǎn)換為int
如果字符串為空,則拋出argumentnullexception異常;
如果字符串內(nèi)容不是數(shù)字,則拋出formatexception異常;
如果字符串內(nèi)容表示的數(shù)字超出int類型可以表示的范圍,則會(huì)引發(fā)溢出異常內(nèi)錐蟲以及內(nèi)部解析更相似的是,它不產(chǎn)生異常,并且轉(zhuǎn)換成功返回True,轉(zhuǎn)換失敗并返回false。最后一個(gè)參數(shù)是輸出值。如果轉(zhuǎn)換失敗,則輸出值為0
tryparse,用于檢查要轉(zhuǎn)換的對(duì)象是否可以成功轉(zhuǎn)換。如果轉(zhuǎn)換成功,將返回true,轉(zhuǎn)換后的值將存儲(chǔ)在結(jié)果中。如果不成功,將返回false。
使用tryparse,您可以避免數(shù)據(jù)轉(zhuǎn)換引起的許多異常。
int.TryParse()的用法?
Out用于修改方法調(diào)用的參數(shù)。您可以想出一種方法來(lái)設(shè)置此參數(shù)的值。所以你必須定義一個(gè)變量來(lái)接收這個(gè)值。Inti=0//定義接受該值的變量?jī)?nèi)錐蟲(“123”,outI)STR不一定是整數(shù)字符串。當(dāng)遇到無(wú)法轉(zhuǎn)換且不會(huì)引發(fā)異常的值時(shí),此方法將返回false。遇到這個(gè)問(wèn)題,最好用reflector自己看看:下面是reflector反編譯器的代碼:[securitysafestructural]internal StaticUnsafeteBoltryParseInt32(String,numberstyles,numberformatinfo,outinresult){byte*stackbuffer=stackallocbyte[0x72]numberbuffer number=newnumberbuffer(stackbuffer)result=0If(!Trystringtonumber(s,st)yle,refnumber,info,false)){returnfalse}if((style&NumberStyles.AllowExSpecifier類型)!= 數(shù)字樣式。無(wú)){如果(!Hexnumbertoint32(refnumber,result)){returncase}}elseif(!Numbertoint32(refnumber,result)){returncase}returnrule}您可以看到,在處理過(guò)程中,結(jié)果首先被設(shè)置為0,因此轉(zhuǎn)換失敗,傳入的out參數(shù)為=0