web-dev-qa-db-ja.com

GUIDをC#の文字列に変換する方法は?

私はC#が初めてです。

私はvb.netで知っています、私はこれを行うことができます:

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

C#では、やろうとしている

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

しかし、「メソッドグループ 'ToString'を非デリゲート型 'string'に変換できません。メソッドを呼び出すつもりでした?」エラー。

45
Dave

関数呼び出しと関数参照(デリゲートに渡す種類)としてマークするToStringの後に_()_がありません。これは、c#にAddressOf演算子がない理由です、入力方法によって暗示されます。

これを試して:

_string guid = System.Guid.NewGuid().ToString();
_
79
Blindy

[〜#〜] 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}_
77

Visual Basicでは、中かっこ(())。 C#では、これらは必須です。だからあなたは書くべきです:

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

中括弧がなければ、メソッドの結果ではなくメソッド自体を変数guidに割り当てているため、明らかにメソッドはStringに変換できないため、エラーになります。

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

それ以外の場合は、デリゲートです。

6
BennyM

あなたが必要

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

toStringの最後に()がありません。

5
Shiraz Bhaiji

書きましたか

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

または

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

括弧に注意してください

4
Makach
Guid guidId = Guid.Parse("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx");
string guidValue = guidId.ToString("D"); //return with hyphens
3
hadi sorosh

各形式指定子からの出力の例を次に示します。

N: cd26ccf675d64521884f1693c62ed303
D: cd26ccf6-75d6-4521-884f-1693c62ed303
B: {cd26ccf6-75d6-4521-884f-1693c62ed303}
P: (cd26ccf6-75d6-4521-884f-1693c62ed303)
X: {0xcd26ccf6,0x75d6,0x4521,{0x88,0x4f,0x16,0x93,0xc6,0x2e,0xd3,0x03}}

デフォルトはDです。

自分で実行

3
Drew Noakes