不同类型之间的Linq铸造
是否有更好的方法使用linq将此guid字符串列表强制转换为guid:不同类型之间的Linq铸造,linq,linq-to-objects,Linq,Linq To Objects,是否有更好的方法使用linq将此guid字符串列表强制转换为guid: public static IList<Guid> ToGuidList(this IList<string> guids) { IList<Guid> guidList = new List<Guid>(); foreach(var item in guids) { guidList.Add(ne
public static IList<Guid> ToGuidList(this IList<string> guids)
{
IList<Guid> guidList = new List<Guid>();
foreach(var item in guids)
{
guidList.Add(new Guid(item));
}
return guidList;
}
publicstaticIListtoguidlist(这个IListGuids)
{
IList guidList=新列表();
foreach(guids中的var项)
{
添加(新Guid(项));
}
返回指南列表;
}
我看了看:
guids.Cast<Guid>().ToList()
guids.Cast().ToList()
但这似乎不是诀窍
欢迎提供任何提示。您只需使用。选择以实施正确的强制转换:
guids.Select(x => new Guid(x)).ToList()
var guids = from stringGuid in dataSource
select new Guid(stringGuid)
或
IList guidsassString=。。。
var guids=guidsAsString.Select(g=>newguid(g));
你觉得惊喜太多了吗?它是Guid
,而不是Guid
;pOups,=D。修复它。不,我从来没有玩过魔兽世界。顺便说一句,我只是想澄清一下——LINQ只会做与你在上面代码中写的完全相同的事情。。。所以“更好”这个词只能意味着“更少的‘我的源代码’”。它不会更快或有所不同,但会“看起来”更干净
IList<string> guidsAsString = ...
var guids = guidsAsString.Select(g=>new Guid(g));
guids.Cast<Guid>().ToList()
var guidsAsGuid = guids.Select(x => new Guid(x)).ToList()