当前位置:编程学习 > C#/ASP.NET >>

请教一个初学者的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#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,