我有这样的刺痛:
string searches = "my test";
然后我可以将它们分成如下个别术语:
string[] split = searches.Split(new Char[] { ' ' });
这给了我:
[0] = "my"
[1] = "test"
有没有快速的方法来做到以下几点:
[0] = "my"
[1] = "test"
[2] = "my:"
[3] = "test:"
[4] = "my,"
[5] = "test,"
我需要将搜索项加倍,并在doubled集的末尾添加“:”。什么是最简单有效的方法?
答案 0 :(得分:1)
一种方法是快速而简单的LINQ。如果要附加各种内容,可以使用要追加的数组和可靠的FOR循环。
string[] stuffToAppend = new String[]{ ":", "," };
string[] split = searches.Split(new Char[] { ' ' });
List<String> newStrings = new List<String>(split);
foreach( String append in stuffToAppend )
newStrings.AddRange( split.Select( s => s + append ) );
如果你真的需要一个数组,现在可以通过newStrings.ToArray()获取新数组。
答案 1 :(得分:0)
一种简单的方法就是使用工会:
string searches = "my test";
var split = searches.Split(new Char[] { ' ' });
var modifiedArray1 = split.Select(x => x + ":");
var modifiedArray2 = split.Select(x => x + ",");
split = split.Union(modifiedArray1).ToArray().Union(modifiedArray2).ToArray();
foreach (var s in split)
{
Console.WriteLine(s);
}