通过在C#中更改其值来使数组大小加倍

时间:2012-11-06 00:48:27

标签: c# asp.net .net

我有这样的刺痛:

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集的末尾添加“:”。什么是最简单有效的方法?

2 个答案:

答案 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);
            }