2009-11-09 33 views
33

我是C#的新手。如何將GUID轉換爲C#中的字符串?

我知道在vb.net中,我能做到這一點:

Dim guid as string = System.Guid.NewGuid.ToString 

在C#中,我試圖做

String guid = System.Guid.NewGuid().ToString; 

,但我得到一個「不能轉換方法組' ToString'轉換爲非委託類型'string'。您是否打算調用方法?「錯誤。

回答

60

你錯過了()ToString這標誌着它作爲一個函數調用與函數引用(你傳遞給代表的那種),這亦是爲什麼C#有沒有AddressOf運營商,它是由你如何鍵入它暗示。

試試這個:

string guid = System.Guid.NewGuid().ToString(); 
+0

你似乎也做了相同的...爲你編輯。 – James 2009-11-09 11:05:54

+0

你是不是也錯過了?;) – Bobby 2009-11-09 11:06:01

6
String guid = System.Guid.NewGuid().ToString(); 

否則它是一個代表。

5

你需要

String guid = System.Guid.NewGuid().ToString(); 
5

你缺少()上的ToString結束。

3

你寫

String guid = System.Guid.NewGuid().ToString; 

String guid = System.Guid.NewGuid().ToString(); 

通知paranthesis

7

在Visual Basic中,你可以調用參數的方法,無需該大括號(())。在C#中,它們是強制性的。所以,你應該寫:

String guid = System.Guid.NewGuid().ToString(); 

如果沒有括號,你分配方法本身(而不是其結果)的變量​​,顯然該方法不能轉換爲String,因此錯誤。

53

根據MSDN,方法Guid.ToString(string format)根據提供的格式說明符返回此Guid實例的值的字符串表示形式。

實例:

  • guidVal.ToString()guidVal.ToString("D")返回32個位數 由連字符分隔:00000000-0000-0000-0000-000000000000

  • guidVal.ToString("N")返回32個位數:00000000000000000000000000000000

  • guidVal.ToString("B")返回32個用連字符分隔數字,用牙套:{00000000-0000-0000-0000-000000000000}
+0

'guidVal.ToString(「P」)'返回32位數字,用括號括起來:'(00000000-0000-0000-0000-000000000000)' – 2016-11-23 07:26:20

相關問題