有点像String.Join(",", new string[] { "a", "b" });
,但对于Guid[]
var guids = new Guid[] { Guid.Empty, Guid.Empty };
var str = /* Magic */
// str = 00000000-0000-0000-0000-000000000000,00000000-0000-0000-0000-000000000000
Run Code Online (Sandbox Code Playgroud)
Jus*_*ner 22
var str = guids.Select(g => g.ToString())
.Aggregate((working, next) => working + "," + next);
Run Code Online (Sandbox Code Playgroud)
一旦你的Guids列表开始增长,这种连接方法将导致性能问题.您可以修改它以使用StringBuilder:
var str = guids.Select(g => g.ToString())
.Aggregate(new StringBuilder(),
(sb, str) => sb.Append("," + str),
sb => sb.ToString());
Run Code Online (Sandbox Code Playgroud)
这两者都是复杂的LINQ Extension方法.你也可以简单地使用String.Join:
var str = String.Join(",", guids.Select(g => g.ToString()).ToArray());
Run Code Online (Sandbox Code Playgroud)
Yur*_*ich 19
String.Join(",", guids.Select(g => g.ToString()).ToArray());
Run Code Online (Sandbox Code Playgroud)
the*_*oop 15
.NET 4添加了一种String.Join<T>(string separator, IEnumerable<T> values
方法.因此,在.NET 4中,这将起作用:
String.Join(",", guids);
Run Code Online (Sandbox Code Playgroud)
我觉得这会有用吗?
StringBuilder stringBuilder = new StringBuilder();
int i = 0;
foreach (var guid in guids)
{
stringBuilder.Append(guid.ToString());
if (++i < guids.Length)
{
stringBuilder.Append(",");
}
}
var str = stringBuilder.ToString();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11321 次 |
最近记录: |