将字符串集合转换为 GUID 集合
Convert a Collection of Strings into Collection of GUID
我正在阅读来自 excel
的 collection of strings (of GUID format)
,并希望将它们作为 collection of GUIDs
存储在数据库中。我只是想知道是否有任何干净的方法可以使用 Linq
将 List<string>
转换为 List<Guid>
。我对循环不感兴趣。
是的
IEnumerable<Guid> guids = guidStrings.Select(x => Guid.Parse(x));
或者正如 juharr 在他们下面的评论中所说,您可以将其简化为 "method group":
IEnumerable<Guid> guids = guidStrings.Select(Guid.Parse);
因为 C# 可以计算出传入的唯一参数与 Guid.Parse()
所需的唯一参数相同,所以编译器会为您完成。
最简单的方法是利用 Enumerable.Select()
方法,该方法可以将每个单独的字符串映射到相应的 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();
任一 LINQ:
List<Guid> guids = guidStrings.Select(Guid.Parse).ToList();
或 List.ConvertAll
效率更高一点,因为它知道大小:
List<Guid> guids = guidStrings.ConvertAll(Guid.Parse);
我正在阅读来自 excel
的 collection of strings (of GUID format)
,并希望将它们作为 collection of GUIDs
存储在数据库中。我只是想知道是否有任何干净的方法可以使用 Linq
将 List<string>
转换为 List<Guid>
。我对循环不感兴趣。
是的
IEnumerable<Guid> guids = guidStrings.Select(x => Guid.Parse(x));
或者正如 juharr 在他们下面的评论中所说,您可以将其简化为 "method group":
IEnumerable<Guid> guids = guidStrings.Select(Guid.Parse);
因为 C# 可以计算出传入的唯一参数与 Guid.Parse()
所需的唯一参数相同,所以编译器会为您完成。
最简单的方法是利用 Enumerable.Select()
方法,该方法可以将每个单独的字符串映射到相应的 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();
任一 LINQ:
List<Guid> guids = guidStrings.Select(Guid.Parse).ToList();
或 List.ConvertAll
效率更高一点,因为它知道大小:
List<Guid> guids = guidStrings.ConvertAll(Guid.Parse);