0

我在 C# 中有这样的字符串:

string a = "A|B|C|D"

我想在管道字符上分割这个字符串,并在每个条目前面加上一些文本。目前,我正在做这样的拆分:

string[] result = a.Split('|')

但是因为字符串数组的大小是固定的,所以我需要创建一个新数组并使用 for 循环复制前置结果。是否有一种 Linq 方式或单线来实现这一点,而不是编写一个 for 循环?在 Python 中,我会做一个单行 for 循环:

newresult = ["Prepend string " + x for x in result]

有什么建议么?

4

3 回答 3

2
var newResult = a.Split('|').Select(x => "Prepend string " + x).ToArray();
于 2012-06-30T01:45:04.337 回答
2

我发现这很容易,如果你说也想加入它:

string.Join(" , ", devices.Select(s => "PREFIX = " + s).ToArray());

于 2012-06-30T01:45:06.260 回答
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];
于 2012-06-30T01:46:07.017 回答