请查看以下C ++代码并帮助我在c#
中执行相同的操作for(int i=0;i<10;i++)
{
cout<<"Enter a["<<i<<"]=";
cin>>a[i];
}
我尝试在C#中实现相同的循环以获取整数输入,但它以异常结束,如下面的
for(int i=0;i<10;i++)
{
a[i]=Int32.Parse(Cosole.Read());
}
任何人都可以帮我在C#中实现该循环吗?解析工作一次,但它在循环内不起作用。问题是什么?
答案 0 :(得分:2)
Console.Read()
只读取标准输入流中的下一个字符,如果要将32
读为整数,则该字符无效。您最好使用Console.ReadLine()
代替:
for (int i=0; i<10; i++)
{
string line = Console.ReadLine();
int value;
if (Int32.TryParse(line, out value))
{
a[i] = value;
}
else
{
// cannot parse it as an integer
}
}
答案 1 :(得分:1)
试试这个:
int[] a = new int[10];
for(int i=0;i<10;i++)
{
Console.WriteLine("Enter a[{0}]=",i);
a[i]=Int32.Parse(Console.ReadLine());
}
请检查this小提琴。
答案 2 :(得分:0)
如果我理解你的正确......
for(...)
{
Console.WriteLine(string.Format("Enter a {0}"),i);
a[i] = Convert.ToInt32(Console.ReadKey());
}
像这样的Smth ......