使用.NET 4.0,我有时会有一个Guid []或200个项目都需要转换为string [],有时候我必须反过来。
最快/最聪明的方法是什么?
感谢。
答案 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));