Linq:<Guid>在 C# 中选择新列表



使用linq我试图获得列表[Guid],但无法。

我试过这个:

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

不清楚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;

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

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

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

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

(假设x.TheGuid当然是Guid

如果您想要List<Guid>:

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

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

相关内容

  • 没有找到相关文章

最新更新