2

使用linq我试图获得一个List[Guid],但我做不到。

我试过这个:

var myGuidList = from x in
                 mydatasource
                 where x.Field==value
                 select new Guid(){x.TheGuid};   <- Problem here
4

2 回答 2

6

目前尚不清楚TheGuid属性的类型是什么,但如果它是一个字符串,您可以使用以下内容:

IEnumerable<Guid> myGuidList = 
    from x in mydatasource
    where x.Field == value
    select new Guid(x.TheGuid);

如果它是一个 Guid,那么你可以直接选择它:

IEnumerable<Guid> myGuidList = 
    from x in mydatasource
    where x.Field == value
    select x.TheGuid;

如果你想得到 a List<Guid>,只需.ToList()在结果上使用扩展方法:

List<Guid> guids = myGuidList.ToList();
于 2013-02-05T23:00:40.360 回答
5

Guid如果您已经有一个,为什么还需要创建一个新的实例?

var myGuids = from x in
              mydatasource
              where x.Field == value
              select x.TheGuid;

(假设这x.TheGuidGuid当然)

如果你想要一个List<Guid>

List<Guid> myGuidList = myGuids.ToList();

请注意,Guid没有构造函数采用(无论如何都没有意义Guid或无参数构造函数,并且它也没有属性(只是一个字段Empty),这就是您的代码无法编译的原因。

于 2013-02-05T23:00:33.247 回答