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);