使用LinqPad将字符串转换为Guid

时间:2011-11-09 15:51:47

标签: c# linq linq-to-sql linqpad

当我在LinqPad中运行以下内容时

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

ProductIds.Dump();

它给了我

  

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

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

4 个答案:

答案 0 :(得分:33)

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

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

ProductIds.Dump();

答案 1 :(得分:1)

您目前有作业,但想要使用比较 - 使用==代替=

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

答案 2 :(得分:0)

你不能施展它,你必须像那样解析它:

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

答案 3 :(得分:0)

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

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

然后

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

ProductIds.Dump();