Cod*_*ter 1 c# string concatenation
我有一个源字符串集合,我希望连接到一个目标字符串.
源集合如下所示:
{ "a", "b", "c" }
Run Code Online (Sandbox Code Playgroud)
我希望输出字符串是:
abc
Run Code Online (Sandbox Code Playgroud)
但有时,我也想要一个分隔符.所以对于相同的输入,现在输出是:
a-b-c
Run Code Online (Sandbox Code Playgroud)
最后,输入有时需要包含在其他字符中,在这种情况下[],导致输出为:
[a]-[b]-[c]
Run Code Online (Sandbox Code Playgroud)
空源集合应该生成一个空字符串.我该怎么做?
您可以使用静态String.Join()方法执行此操作.
它的基本用法是这样的:
string[] sourceData = new[] { "a", "b", "c" };
string separator = "";
var result = string.Join(separator, sourceData);
Run Code Online (Sandbox Code Playgroud)
当你提供一个空分离,传递的值将简单级联,这样的:"abc".
要使用某个字符串分隔源数据,请提供所需的值作为第一个参数:
string[] sourceData = new[] { "a", "b", "c" };
string separator = "-";
var result = string.Join(separator, sourceData);
Run Code Online (Sandbox Code Playgroud)
现在,字符串"-"将插入源数据中的每个项目之间:"a-b-c".
最后,为了封装或修改源集合中的每个项目,您可以使用Linq的Select()方法使用投影:
string[] sourceData = new[] { "a", "b", "c" };
string separator = "-";
result = String.Join(separator, sourceData.Select(s => "[" + s + "]"));
Run Code Online (Sandbox Code Playgroud)
而不是"[" + s + "]"你最好String.Format()用来提高可读性和易于修改:String.Format("[{0}]", s).
无论哪种方式,这也会返回所需的结果:"[a]-[b]-[c]".
| 归档时间: |
|
| 查看次数: |
652 次 |
| 最近记录: |