使用LinqPad将字符串转换为Guid

当我在LinqPad中运行以下时

var ProductIds = from p in Products where p.Id = "F1FE990C-4525-4BFE-9E2C-A7AFFF0DDA1F" select p; ProductIds.Dump(); 

它给了我

无法将类型’string’隐式转换为’System.Guid’

我只是不知道如何适当地将它投射到GUID我猜

尝试使用Guid.Parse(string guid)静态方法。

 var ProductIds = from p in Products where p.Id == Guid.Parse("F1FE990C-4525-4BFE-9E2C-A7AFFF0DDA1F") select p; ProductIds.Dump(); 

您目前有一个作业,但是您想使用比较 – 使用==而不是=

 var ProductIds = from p in Products where p.Id == Guid.Parse("F1FE990C-4525-4BFE-9E2C-A7AFFF0DDA1F") select p; 

你不能强制转换它,你必须解析它:

 where p.Id = Guid.Parse("F1FE990C-4525-4BFE-9E2C-A7AFFF0DDA1F"); 

您还可以使用以下方法设置变量:

 Guid guid = new Guid ("F1FE990C-4525-4BFE-9E2C-A7AFFF0DDA1F"); 

然后

 var ProductIds = from p in Products where p.Id == guid select p; ProductIds.Dump();