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

时间:2016-07-12 14:00:11

标签: c# excel linq guid

我正在阅读collection of strings (of GUID format)中的excel,并希望将其作为collection of GUIDs存储在数据库中。我只是想知道是否有任何干净的方法可以使用List<string>List<Guid>转换为Linq。我对循环不感兴趣。

4 个答案:

答案 0 :(得分:4)

是的

IEnumerable<Guid> guids = guidStrings.Select(x => Guid.Parse(x));

正如juharr在下面的评论中所说,你可以将这一点简化为“方法组”:

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

因为C#可以解决传入的唯一参数与Guid.Parse()所需的唯一参数相同,所以编译器会为你做这个。

答案 1 :(得分:3)

LINQ:

List<Guid> guids = guidStrings.Select(Guid.Parse).ToList();

List.ConvertAll这有点效率,因为它知道大小:

List<Guid> guids = guidStrings.ConvertAll(Guid.Parse);

答案 2 :(得分:0)

最简单的方法是利用Enumerable.Select()方法将每个字符串映射到相应的Guid

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

答案 3 :(得分:0)

这是如何完成的:

IEnumerable<string> guidStrings = ..... // GUID-compatible strigns
List<Guid> guids = guidStrings.Select(s => new Guid(s)).ToList();