私はC#が初めてです。
私はvb.netで知っています、私はこれを行うことができます:
Dim guid as string = System.Guid.NewGuid.ToString
C#では、やろうとしている
String guid = System.Guid.NewGuid().ToString;
しかし、「メソッドグループ 'ToString'を非デリゲート型 'string'に変換できません。メソッドを呼び出すつもりでした?」エラー。
関数呼び出しと関数参照(デリゲートに渡す種類)としてマークするToString
の後に_()
_がありません。これは、c#にAddressOf
演算子がない理由です、入力方法によって暗示されます。
これを試して:
_string guid = System.Guid.NewGuid().ToString();
_
[〜#〜] 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}
_Visual Basicでは、中かっこ(()
)。 C#では、これらは必須です。だからあなたは書くべきです:
String guid = System.Guid.NewGuid().ToString();
中括弧がなければ、メソッドの結果ではなくメソッド自体を変数guid
に割り当てているため、明らかにメソッドはString
に変換できないため、エラーになります。
String guid = System.Guid.NewGuid().ToString();
それ以外の場合は、デリゲートです。
あなたが必要
String guid = System.Guid.NewGuid().ToString();
toStringの最後に()がありません。
書きましたか
String guid = System.Guid.NewGuid().ToString;
または
String guid = System.Guid.NewGuid().ToString();
括弧に注意してください
Guid guidId = Guid.Parse("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx");
string guidValue = guidId.ToString("D"); //return with hyphens
各形式指定子からの出力の例を次に示します。
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
です。
自分で実行 。