Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
不同类型之间的Linq铸造_Linq_Linq To Objects - Fatal编程技术网

不同类型之间的Linq铸造

不同类型之间的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

是否有更好的方法使用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(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()