-1

コードに問題があり、修正方法がわかりません。ユーザーが入力した単語のすべての文字を配列にコピーする必要がありますが、「インデックスが配列の範囲外でした」というエラーが発生します。このエラーは、配列のサイズが正しくないことを意味していることはわかっていますが、ReadLine を使用していて、静的サイズを入力できません。ユーザーが入力したテキストにより変更できます。

コード:

static void Main(string[] args)
        {

            int c = 0;
            string text = Console.ReadLine();

            string[] str = new string[] { };



            foreach (char letter in text)
            {

                str[c] = Convert.ToString(letter);
                Console.WriteLine(str[c]);
                c++;
            }
        }


4

2 に答える 2

0

Linq を使用して、これをワンライナーにすることができます。

using System.Linq;
// ...
// ...
var separateLettersAsList = text.ToList();
var separateLettersAsArray = text.ToArray();
于 2020-11-21T12:37:52.063 に答える
0

長さを定義する必要がありますstr

static void Main(string[] args)
{
    int c = 0;
    string text = Console.ReadLine();
    string[] str = new string[text.Length];//<-- NOTE THIS
    foreach (char letter in text)
    {
        str[c] = Convert.ToString(letter);
        Console.WriteLine(str[c]);
        c++;
    }
}
于 2020-11-21T11:13:57.143 に答える