回答
请参阅MSDN。
在这种情况下,仅使用myNullableVariable.Value
(如果您确定它有值)或(myNullableVariable.HasValue)?myNullableVariable.Value:somedefaulthere
(如果不是)。
如果某人不关心默认值是否为特定值,且可为null时,也可以使用GetValueOrDefault()
。
最后一种方法是:myNullableVariable.Value ?? defaultvalue
。
从技术上来说,MyType?
变量是Nullable<MyType>
。两者之间没有隐式或明确的转换,因此您需要做的是手动从Nullable
中提取值。我列出的第三种方式是最简洁(也是最好的)方法,因此在大多数情况下可能是最好的。
首先初始化guid变量。 ?
Guid yourGuid= Guid.NewGuid()
在您要为如再设置值: '?的System.Guid'
Guid defaultId = Guid.NewGuid();
if (customerRow.GuardianState.Length > 2) {
Guid StateId = record.StateId ?? defaultId;}
使用的Guid .Value属性转换到'System.Guid'。如下例
Obj GetValue(Guid yourID)
{
return FetchObject(yourID)
}
Void main()
{
Guid? passvalue;
Obj test = GetValue(passvalue.Value);
}
无法从'System.Guid?'转换到'System.Guid'
您正在尝试保存类型System.Guid?到一个类型system.Guid 你的模型里面你可以编辑System.Guid?通过删除问号到System.Guid。
或 RCIX回答上述
答案在7年前被接受了,这会带来什么新的价值? – 2017-09-25 22:42:10
- 1. 无法转换为System.Guid
- 2. 不能转换到的System.Guid
- 3. 得到错误无效的转换,从“System.String”到“的System.Guid”
- 4. 将字符串转换为System.guid c#
- 5. ExecuteScalar从'System.String'无效强制转换为'System.Guid'
- 6. Entity Framework - MySQL - 从'System.String'无效转换为'System.Guid'
- 7. Windbg - dumping System.Guid
- 8. System.Guid to _GUID?
- 9. 的GUID的System.Guid
- 10. {“从物化”System.Guid“类型到”System.Int32“类型的指定强制转换无效。”
- 11. 从物化“System.Guid”类型到“System.String”类型的指定转换无效
- 12. 从物化“的System.Guid”类型指定的强制转换到“System.Int32”类型无效
- 13. 将字节数组从Oracle RAW转换为System.Guid?
- 14. 不能隐式转换类型'System.Guid?'到'DataContracts.Market'
- 15. crm 2011无法将类型为'System.Guid'的对象转换为键入'Microsoft.Xrm.Sdk.EntityReference
- 16. 'System.Guid'不是属性类
- 17. 将类型T的对象转换为类型T <System.Guid>
- 18. 的LINQ - 型 '的System.Guid' 不能转换为 '字符串'
- 19. 如何将IQueryable <System.Guid>转换为字符串?
- 20. 不能隐式转换为BaseEntity <System.Guid>
- 21. 反序列化JSON对象转换类型的System.Guid
- 22. C#的System.Guid不包含定义解析
- 23. 关联引用未映射的类:System.Guid
- 24. 为什么System.Guid翻转字节数组中的字节?
- 25. 使用MySql的实体框架:将System.Guid映射到VARCHAR(40)
- 26. Fluent-NHibernate映射抛出“错误的标识符类型:System.Guid”
- 27. 在ASP.Net MVC中使用System.Guid作为主键?
- 28. 将system.guid的列表作为参数传递给SQL2008 sproc
- 29. 操作员“和”没有为类型“字符串”和“的System.Guid”
- 30. 类型'System.Guid'和'System.String'之间没有强制运算符定义
感谢您的答复,但你能解释一下? – Dooie 2010-01-01 11:58:42
这有帮助吗? – RCIX 2010-01-01 12:01:39
好吧,我现在明白了......谢谢:) – Dooie 2010-01-01 12:02:02