将Guid数组最快转换为String和Back?

时间:2011-04-18 01:32:13

标签: arrays linq guid

使用.NET 4.0,我有时会有一个Guid []或200个项目都需要转换为string [],有时候我必须反过来。

最快/最聪明的方法是什么?

感谢。

3 个答案:

答案 0 :(得分:22)

在这种情况下,LINQ的替代方案是Array.ConvertAll()

Guid[] guidArray = new Guid[100];
...
string[] stringArray = Array.ConvertAll(guidArray, x => x.ToString());
guidArray = Array.ConvertAll(stringArray, x => Guid.Parse(x));

运行时性能可能与LINQ相同,但它可能会快一点,因为它直接从数组发送到数组而不是首先进行枚举。

答案 1 :(得分:2)

好吧,如果您想使用LINQ,myList.Select(o => o.ToString())将会这样做。

否则,使用List循环填充foreach几乎是简洁的,并且可以与旧版本的.Net一起使用。

答案 2 :(得分:2)

看看是否有帮助:

Guid[] guids = new Guid[200];
var guidStrings = guids.Select(g => g.ToString());
var revertedGuids = guidStrings.Select(g => Guid.Parse(g));