我在C#中有这样的字符串:
string a = "A|B|C|D"
我想在管道字符上拆分此字符串,并在每个条目前添加一些文本。目前,我正在进行这样的拆分:
string[] result = a.Split('|')
但是因为字符串数组的大小是固定的,所以我需要创建一个新数组并使用for循环复制前置结果。是否有Linq方式或单行程来实现这一点而不是写一个for循环?在Python中,我会做一个单行循环:
newresult = ["Prepend string " + x for x in result]
有什么建议吗?
答案 0 :(得分:2)
var newResult = a.Split('|').Select(x => "Prepend string " + x).ToArray();
答案 1 :(得分:2)
我发现这很容易,如果你想加入它也是如此:
string.Join(" , ", devices.Select(s => "PREFIX = " + s).ToArray());
答案 2 :(得分:0)
不确定为什么需要创建新数组,但首先Linq方法是使用.Select
运算符:
stirng[] result = a.Split('|').Select(x => "Prepend string " + x).ToArray();
那就是说,你也可以只是内联编辑数组(即不需要新的数组):
for (var i = 0; i < result.Length; i++)
result[i] = "Prepend string " + result[i];