我是C#的新手.
我知道在vb.net中,我可以这样做:
Dim guid as string = System.Guid.NewGuid.ToString
Run Code Online (Sandbox Code Playgroud)
在C#中,我正在努力做到
String guid = System.Guid.NewGuid().ToString;
Run Code Online (Sandbox Code Playgroud)
但我得到一个" 无法将方法组'ToString'转换为非委托类型'字符串'.你打算调用该方法吗?" 错误.
Bli*_*ndy 83
你错过了()之后将ToString它标记为函数调用与函数引用(传递给代理的那种),顺便说一句,这就是为什么c#没有AddressOf运算符,它是如何键入的.
试试这个:
string guid = System.Guid.NewGuid().ToString();
Run Code Online (Sandbox Code Playgroud)
Vad*_*hev 82
根据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();
Run Code Online (Sandbox Code Playgroud)
如果没有大括号,您将方法本身(而不是其结果)分配给变量guid,显然该方法无法转换为a String,因此错误.
以下是每个格式说明符的输出示例:
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}}
Run Code Online (Sandbox Code Playgroud)
默认值为D。
自己运行。
你写了吗
String guid = System.Guid.NewGuid().ToString;
Run Code Online (Sandbox Code Playgroud)
或者
String guid = System.Guid.NewGuid().ToString();
Run Code Online (Sandbox Code Playgroud)
注意括号。
| 归档时间: |
|
| 查看次数: |
127899 次 |
| 最近记录: |