请教一个初学者的c#的问题,请帮帮忙!
//**************** Ex0702.cs ****************/*
由命令行输入三个整数,求这三个整数的总和。
csc Ex0702.cs <Enter>
Ex0702 1 3 5 <Enter>
sum = 9
*/
using System;
class Ex0702
{
public static void Main(string[] args)
{
int sum=0;
for (int i=0; i<3; i++)
{
sum += Convert.ToInt32(args[i]);
}
Console.WriteLine("sum = {0}", sum);
}
}
运行结果是:
未处理的异常: System.IndexOutOfRangeException: 索引超出了数组界限。
at Ex0702.Main(String[] args)
搞不懂什么原因,请高手帮我解决一下,万分感谢!
--------------------编程问答-------------------- 在for上面加个System.Windows.Forms.MessageBox.Show(args.Length);试试 --------------------编程问答-------------------- args是形参数,不能这么定义吧 --------------------编程问答-------------------- 用这个循环试试:
foreach(string s in args)
{
sum += Convert.ToInt32(s);
} --------------------编程问答-------------------- using System;
class Ex0702
{
public static void Main(string[] args)
{
int sum=0;
for (int i=0; i <args.Length; i++)
{
sum += Convert.ToInt32(args[i]);
}
Console.WriteLine("sum = {0}", sum);
}
} --------------------编程问答-------------------- 最后输入的值sum=0 --------------------编程问答-------------------- 你是怎么输入的
它的第一个参数会默认为你的程序的名字,应该这样
using System;
class Ex0702
{
public static void Main(string[] args)
{
int sum=0;
for (int i=1; i <4; i++)
{
sum += Convert.ToInt32(args[i]);
}
Console.WriteLine("sum = {0}", sum);
}
}
然后
csc Ex0702.cs <Enter>
Ex0702 1 3 5 <Enter>
sum = 9
--------------------编程问答-------------------- 不好意思,是运行的结果为 0. --------------------编程问答-------------------- for (int i=0; i <args.Length; i++)
改下
补充:.NET技术 , C#