Silverlight Student
Silverlight Student

Reputation: 4118

Cast string as Guid using LinqPad

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

Upvotes: 17

Views: 15549

Answers (4)

Ravi Ram
Ravi Ram

Reputation: 24488

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();

Upvotes: 0

BrokenGlass
BrokenGlass

Reputation: 160852

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;

Upvotes: 1

Fischermaen
Fischermaen

Reputation: 12458

You cannot cast it, you have to parse it like that:

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

Upvotes: 0

Nathan Anderson
Nathan Anderson

Reputation: 6878

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();

Upvotes: 35

Related Questions