static void Main(string[] args)
{
int x = int.Parse(Console.ReadLine());
char[] ch = new char[] { };
for(int i = 0; i<x;i++)
{
ch[i] = 'o';
}
foreach(char item in ch)
{
Console.WriteLine(item);
}
string a = "w";
string m = new string(ch);
Console.Write(a + m + a);
如果输入1,则预期结果为“哇”,如果输入2,则为“哇”,依此类推。 但是我得到的是索引超出范围错误。
答案 0 :(得分:2)
在C#中,您需要声明char
数组(或任何数组)的大小。
要更正代码,只需更改一行。
char[] ch = new char[] { }; // incorrect, initialised with size = 0
到
char[] ch = new char[x]; // initialise the array with size = x
如果您不知道运行时数组的大小,那么我会考虑使用通用的List<T>
。
List<T>
实现了许多有用的方法,例如Add()
,它使您可以在运行时修改集合的大小。您可能会发现有用的其他List
方法包括:Count()
,AddRange()
,Clear()
,IndexOf()
和Remove()
。
然后您可以执行以下操作:
List<char> ch = new List<char>();
for(int i = 0; i < x; i++)
{
ch.Add('o');
}