我正在尝试创建一个变量Guid?表示可以为空的db列.我在分配价值时遇到问题.我能够轻松地为变量赋值null.但是当我想分配一个Guid值时,我必须创建一个新的Guid?不接受字符串的对象.
Guid? sample=new Guid?(someString); // erroing "Cannot implicitly convert string to Guid"
Run Code Online (Sandbox Code Playgroud)
所以我必须这样做
Guid? sample=new Guid?(new Guid(someString)); // working code
Run Code Online (Sandbox Code Playgroud)
我还有条件地分配值.
Guid? sample=(string.IsNullOrWhiteSpace(someString))?null: new Guid?(new Guid(someString));
Run Code Online (Sandbox Code Playgroud)
为什么Guid会出现这个问题?
但是当我想分配一个Guid值时,我必须创建一个新的Guid?不接受字符串的对象.
您可以将代码缩短为:
Guid? sample= new Guid(someString);
Run Code Online (Sandbox Code Playgroud)
Nullable Types可以直接分配<T>类型.
int? i = 1;
int? i2 = null;
bool? b = true;
bool? b2 = null;
Run Code Online (Sandbox Code Playgroud)