我在类中有以下字段定义:
public Nullable<System.Guid> GlobalId { get; set; }
我有另外一个课程如下:
public string GlobalId { get; set; }
我想将类型为System.Guid的字段的值放入字符串中。
我试着这样做:
var questionIds = _questionsRepository.GetAll()
.Where(m => m.Problem != null &&
m.Problem.SubTopic != null &&
m.Problem.SubTopic.Topic != null &&
m.Problem.SubTopic.Topic.SubjectId == 1)
.Select(m => new QuestionHeader { GlobalId = (string) m.GlobalId })
.ToList();
return questionIds;
但它给了我一个错误说:
Cannot convert type 'System.Guid?' to 'string'
有人可以告诉我怎么做吗?
答案 0 :(得分:7)
您可以通过调用ToString()
来获取GUID的字符串表示形式。
由于您的GUID可以为空,请在调用ToString()
之前检查它是否为空:
string myString = guid.HasValue ? guid.Value.ToString() : "default string value";
答案 1 :(得分:3)
您不会转换为字符串。您使用ToString()
方法。
像这样:
GlobalId = m.GlobalId.ToString()
答案 2 :(得分:2)
使用Convert.ToString
代替(string)
GlobalId = Convert.ToString(m.GlobalId)
答案 3 :(得分:2)
您可以使用.ToString()转换Guid:
Guid gid = Guid.NewGuid();
string myID = gid.ToString();
答案 4 :(得分:1)
GlobalId = m.GlobalId.ToString()
答案 5 :(得分:1)
只需使用ToString()
方法
Guid? g = null;
string s = g.ToString();
如果null
,它将返回String.Empty
,否则您将获得Guid
答案 6 :(得分:1)
string Id = Guid.NewGuid().ToString();