0

私は次のような刺傷があります:

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,"

検索語を 2 倍にし、2 倍したセットの最後に「:」を追加する必要があります。これを行う最も簡単で効率的な方法は何ですか?

4

2 に答える 2

1

それを行う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()を介して新しい配列を取得できるようになりました。

于 2012-11-06T00:51:05.537 に答える
0

それを行う簡単な方法の 1 つは、ユニオンを使用することです。

            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);
            }
于 2012-11-06T00:53:57.900 に答える