c#如何将数组字符串""替换为" - "

-5 c# arrays string replace

我有

string data = "a,bn,,rf,,";
Run Code Online (Sandbox Code Playgroud)

并分成一个字符串数组

string []dataArray = data.Split(',',data);
and array become {"a", "bn", "", "", "rf", "", ""};
Run Code Online (Sandbox Code Playgroud)

我该如何更换"""-"?还有其他方便吗?

谢谢您的帮助.

Ehs*_*jad 9

您可以使用Select()投影split方法返回的结果并执行以下操作:

var result = data.Split(',')
                 .Select(d=> d == String.Empty ? "-" : d);
Run Code Online (Sandbox Code Playgroud)

这会给你现在:

{"a","bn"," - "," - ","rf"," - "," - "}

你也可以消除那些,如果你只需要使用这个重载的非空字符串,如:

var result = data.Split(new char[] {','},StringSplitOptions.RemoveEmptyEntries);
Run Code Online (Sandbox Code Playgroud)

这会给你带来如下结果:

{"a","bn","rf"}