0

配列があり、各インデックスには 4 文字の文字列が含まれています。文字列内のランダムなポイントを選択し、同じポイントで と をスライスstringaArray[0]stringaArray[1]て、スライスした部分を交換し、これらをsplicedStringArray[0]およびに追加する必要がありsplicedStringArray[1]ます。

私は C# で分割を使用する方法を知っており、これを試してみましたが、文字列を部分ではなく文字に分割するだけです。この質問をするのは、私の考え方は、一時的な文字列を保持する変数をたくさん作成し、splicedStringArray[].

これは、文字列の最初と最後を見つけて、できれば変数にコピーして新しい文字列を作成し、これらを2番目の配列に保存する最新の試みです。

            string s = stringaArray[0];
            char[] charArray = s.ToCharArray();

            int amount = charArray.Length;

            int findMiddle = amount / 2 + 1;

            int midchar = findMiddle - 1;
            int findLast = amount - 1;


            char fchar = charArray[0];
            char mchar = charArray[midchar];
            char lchar = charArray[findLast];

私はC#の文字列ビルダークラスも見ていて、そこに何か使用できるものがあるかどうか疑問に思っていましたが、これに多くの時間を費やして最悪の解決策を開発すると思いますので、これを行う方法についてのアドバイスをいただければ幸いです.

4

1 に答える 1

1

正確な位置で分割するには、 を使用しますString.Substringこのようにして、特定のポイントまで、特定のポイントから分割できます。最も簡単な解決策は次のようになります。

var offset = 1;
splicedStringArray[0] = stringArray[0].Substring(0, offset) + stringArray[1].Substring(offset);
splicedStringArray[1] = stringArray[1].Substring(0, offset) + stringArray[0].Substring(offset);

免責事項: コードはテストなしで書かれています。

于 2013-04-18T08:30:50.537 に答える