using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            ArrayList array = new ArrayList();
            Console.WriteLine("请输入几个整数,用逗号隔开");
            string str = Console.ReadLine();
            String[] StrNum = str.Split(',');
            foreach (String i in StrNum)
            {
                array.Add(str);
            }
            Console.WriteLine(GetMax(array));
            Console.WriteLine(GetMin(array));
            Console.Read();        }
        public static int GetMax(ArrayList array)
        {            array.Sort();
            return Convert.ToInt32(array[array.Count-1]);
        }
        public static int GetMin(ArrayList array)
        {            array.Sort();
            return Convert.ToInt32(array[0]);
        }
    }
}
各位大侠,这是一个输入几个整数,求最大值最小值的小程序,可是运行时,红色部分总是出错,说是输入字符格式不正确,怎么回事啊?

解决方案 »

  1.   

    每次登陆CSDN总看见-些讨厌的网页游戏广告弹出来,是相当的烦人.
    是很垃圾的spywares/adwares;请问大家有什么方法可以过滤/屏蔽吗? 
      

  2.   

    foreach (String i in StrNum)
    {
    array.Add(str);
    }
    你瞧你把什么加到array里了。应该是(i)吧。
      

  3.   

    array.Add(str);//错在这里,应为:array.Add(i);
      

  4.   

    array.Sort(); 
    "1" "2" , "10" !=  1 ,2 ,10
    字符串与数字的排序是不同的用这个重载 ; array.Sort( delegate sort ); 
      

  5.   


    同14楼,这也是造成13楼错误的原因。如果不想那么麻烦用委托的话,foreach (String i in StrNum)
    {
    array.Add(i);
    }改成
    foreach (String i in StrNum)
    {
    array.Add(Convert.ToInt32(i));
    }不过,一定要做好转换出错的准备!