我是C#的新手。
我知道在vb.net中可以这样做:
Dim guid as string = System.Guid.NewGuid.ToString
我正在尝试在C#中实现
String guid = System.Guid.NewGuid().ToString;
但我收到一个错误信息 "无法将方法组'ToString'转换为非委托类型'string'。您是否打算调用该方法??"
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}
guidVal.ToString("P")
返回由括号包围、由连字符分隔的32个十六进制数字:(00000000-0000-0000-0000-000000000000)
你错过了在 ToString
后面加上 ()
的步骤,这样可以将其标记为函数调用而不是函数引用(委托所需的类型),顺便说一下,这就是为什么 c# 没有 AddressOf
运算符的原因,因为它在输入方式上是暗示的。
尝试这个:
string guid = System.Guid.NewGuid().ToString();
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
。
Did you write
String guid = System.Guid.NewGuid().ToString;
或者
String guid = System.Guid.NewGuid().ToString();
注意括号。
()
)的情况下调用无参方法。但在C#中,这是强制性的。因此,您应该写成:String guid = System.Guid.NewGuid().ToString();
guid
,显然该方法不能转换为String
,因此出现错误。您需要
String guid = System.Guid.NewGuid().ToString();
String guid = System.Guid.NewGuid().ToString();
你的 ToString 方法缺少括号 ()。
Guid guidId = Guid.Parse("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx");
string guidValue = guidId.ToString("D"); //return with hyphens