Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.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
C# 将字符串集合转换为GUID集合_C#_Excel_Linq_Guid - Fatal编程技术网

C# 将字符串集合转换为GUID集合

C# 将字符串集合转换为GUID集合,c#,excel,linq,guid,C#,Excel,Linq,Guid,我正在从excel读取字符串集合(GUID格式),并希望将它们作为GUID集合存储在数据库中。我只是想知道是否有任何干净的方法可以使用Linq将List转换为List。我对循环不感兴趣。是的 IEnumerable<Guid> guids = guidStrings.Select(x => Guid.Parse(x)); IEnumerable guids=guidStrings.Select(x=>Guid.Parse(x)); 或者正如juharr在下面的评论中所说,您

我正在从
excel
读取
字符串集合(GUID格式)
,并希望将它们作为
GUID集合
存储在数据库中。我只是想知道是否有任何干净的方法可以使用
Linq
List
转换为
List
。我对循环不感兴趣。

是的

IEnumerable<Guid> guids = guidStrings.Select(x => Guid.Parse(x));
IEnumerable guids=guidStrings.Select(x=>Guid.Parse(x));
或者正如juharr在下面的评论中所说,您可以将其简化为一个“方法组”:

IEnumerable guids=guidStrings.Select(Guid.Parse);

因为C#可以计算出传入的唯一参数与
Guid.Parse()
所需的唯一参数相同,所以编译器会为您执行此操作。

最简单的方法是利用该方法,该方法可以将每个字符串映射到相应的
Guid

// This will parse each string present in your strings collection to its cooresponding guid
var guids = strings.Select(Guid.Parse);

这是如何做到的:

IEnumerable<string> guidStrings = ..... // GUID-compatible strigns
List<Guid> guids = guidStrings.Select(s => new Guid(s)).ToList();
IEnumerable guidStrings=..…//GUID兼容strigns
列出guids=guidStrings.Select(s=>newguid)).ToList();
任一LINQ:

List<Guid> guids = guidStrings.Select(Guid.Parse).ToList();
Neil显示的方式(也在引擎盖下循环)或
var list=guidStrings.ConvertAll(Guid.Parse)
或只选择(Guid.Parse)。
List<Guid> guids = guidStrings.Select(Guid.Parse).ToList();
List<Guid> guids = guidStrings.ConvertAll(Guid.Parse);