2015-09-07 252 views
0

雖然我今天寫了我遇到了一個非常愚蠢的問題: 在一個地方,我必須給一個長的值,如0x70,0x3BC0或類似的東西。 這個值我必須從文本文件中獲取。 我使用System.IO這樣的:將字符串變量轉換爲長

string[] stringTakenByFile = File.ReadAllLines(@"thePathToFile.txt"); 

在這裏,我可以採取的值,但字符串格式。我的意思是像0x70一樣的值,但不像long或int,但像文本(字符串)。當我嘗試解析它或將其從字符串轉換爲int/long時,它會給我一個例外,女巫說:輸入字符串的格式不正確。 如果你能幫助我,這將是太棒了! 謝謝! 編輯:我不想「如何轉換C#中的十六進制和十進制數字之間的數字?」我從字符串需要LONG

+3

您如何嘗試轉換它? – Bgl86

+1

string variableWhereIStoreTheStringResult; long variableWhereIwannaStoreTheResult = Convert.ToInt64(variableWhereIStoreTheStringResult); long variableWhereIwannaStoreTheResult = int64.Parse(variableWhereIStoreTheStringResult); – Ch00pi

+2

'Convert.ToInt64(「Your Hex String」,16);'應該是你正在尋找的東西。這裏是數字基數。 – Alpay

回答

0

更新:看到@Std_Net答案發表評論,獲得更新的解決方案

如果你想在解析六格式的龍,你必須像這樣指定它:

Long.parseLong(myStringToConvert, 16); 

請參閱MSDN文檔

+4

什麼是C#中的'Long.parseLong'? –

+1

@bviale,你確定語法嗎? – Ch00pi

+1

好吧,你是對的,但@Std_Net在這種情況下給出了最好的答案。 感謝無論如何幫助。 – Ch00pi