List<Guid> with LINQ

本文关键字:with LINQ gt Guid List lt | 更新日期: 2023-09-27 18:15:53

我有一个返回Guids列表的方法。我想要下面的linq查询:

var results = (from t in CurrentDataSource.Table1
               where t.Manager == userId && t.Profile != null
               select t.Profile).ToList();

为什么我得到以下错误:

Error   4   Cannot implicitly convert type 'System.Collections.Generic.List<System.Guid?>' to 'System.Collections.Generic.List<System.Guid>'    

List<Guid> with LINQ

您正在检查t.Profile是否为空,并且只返回有效的Guid,因此显式强制转换应该工作:

var results = (from t in CurrentDataSource.Table1
           where t.Manager == userId && t.Profile != null
           select (Guid)t.Profile).ToList();

因为您不能将List<Guid?>强制转换为List<Guid>。你可以使用:

var results = (from t in CurrentDataSource.Table1
               where t.Manager == userId && t.Profile != null
               select t.Profile.GetValueOrDefault()).ToList();