在C#中从控制台读取整数

时间:2014-04-13 08:24:12

标签: c# c++ .net console

请查看以下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#中实现该循环吗?解析工作一次,但它在循环内不起作用。问题是什么?

3 个答案:

答案 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 ......