问题
When I run following in the LinqPad
var ProductIds = from p in Products
where p.Id = "F1FE990C-4525-4BFE-9E2C-A7AFFF0DDA1F"
select p;
ProductIds.Dump();
it gives me
Cannot implicitly convert type 'string' to 'System.Guid'
I just don't know how to apply proper cast it to GUid I guess
回答1:
Try using the Guid.Parse(string guid)
static method.
var ProductIds = from p in Products
where p.Id == Guid.Parse("F1FE990C-4525-4BFE-9E2C-A7AFFF0DDA1F")
select p;
ProductIds.Dump();
回答2:
You currently have an assignment, but you want to use a comparison - use ==
instead of =
:
var ProductIds = from p in Products
where p.Id == Guid.Parse("F1FE990C-4525-4BFE-9E2C-A7AFFF0DDA1F")
select p;
回答3:
You cannot cast it, you have to parse it like that:
where p.Id = Guid.Parse("F1FE990C-4525-4BFE-9E2C-A7AFFF0DDA1F");
回答4:
You can also set a variable using:
Guid guid = new Guid ("F1FE990C-4525-4BFE-9E2C-A7AFFF0DDA1F");
Then
var ProductIds = from p in Products
where p.Id == guid
select p;
ProductIds.Dump();
来源:https://stackoverflow.com/questions/8067628/cast-string-as-guid-using-linqpad