黑马程序员 Params可变参数

来源:互联网 发布:淘宝充值劲舞团未到账 编辑:程序博客网 时间:2024/05/17 03:07
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------  
//两个数比较大小
            Console.WriteLine("----------------------两个数比较大小----------------------");
            Console.WriteLine("请你输入a的值:");
            int a = int.Parse(Console.ReadLine());
            Console.WriteLine("请你输入b的值:");
            int b = int.Parse(Console.ReadLine());
            int max = 0;//存取最大的值
            int min = 0;//存取最小的值
            if (a < b)//判断两数的大小,大的赋值给max,小的赋给min
            {
                max = b;
                min = a;
            }
            else
            {
                max = a;
                min = b;
            }
            Console.WriteLine("最大数为{0}", max);//输出最大值
            Console.WriteLine("最小数位{0}", min);//输出最小值
            //上面仅仅是两个数,那假如是10个数或更多的数怎么办呢~这 让我想到了数组
            //int max = 0;//存取最大的值
            //int min = 0;//存取最小的值
            int[] numbers = new int[10] { 12, 56, 34, 3, 23, 1, 56, 78, 87, 100 };
            max = numbers[0];
            min = numbers[0];
            for (int i = 1; i < numbers.Length; i++)
            {
                if (max < numbers[i])
                {
                    max = numbers[i];
                }
                if (min > numbers[i])
                {
                    min = numbers[i];
                }
            }
            Console.WriteLine("最大数为{0}", max);//输出最大值
            Console.WriteLine("最小数位{0}", min);//输出最小值
            /*
           *虽然可以用数组来比较更多的数,比前面要灵活一点,谁知道用户
           *真正用的的时候会拿多少数来比较 ~ 而且这个只能比较int类型 ,
           *所以说还是有一定的局限性,这有让我想到了Prarms的可变参数
             *
             */
           Util.MaxAndMin(12,34,54,5,4,78,56,4,32,2,89,67,4,2,23,56,6,4,2,78,100);//测试代码
           Util.MaxAndMin(12.3,56.4,34,90.3);
//下面就是封装好了的一个方法,这样一来为程序增加了很强的扩展性
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 类
{
    class Util
    {
        public static void MaxAndMin(params int [] numbers)
        {
            if (numbers == null || numbers.Length == 0)
            {
                Console.WriteLine("数组为初始化");
            }
            int max = numbers[0];
            int min = numbers[0];
            for (int i = 1; i < numbers.Length; i++)
            {
                if (max < numbers[i])
                {
                    max = numbers[i];
                }
                if (min > numbers[i])
                {
                    min = numbers[i];
                }
            }
            Console.WriteLine("最大数为{0}", max);//输出最大值
            Console.WriteLine("最小数位{0}", min);//输出最小值
        }
        public static void MaxAndMin(params double[] numbers)
        {
            if (numbers == null || numbers.Length == 0)
            {
                Console.WriteLine("数组为初始化");
            }
            double max = numbers[0];
           double min = numbers[0];
            for (int i = 1; i < numbers.Length; i++)
            {
                if (max < numbers[i])
                {
                    max = numbers[i];
                }
                if (min > numbers[i])
                {
                    min = numbers[i];
                }
            }
            Console.WriteLine("最大数为{0}", max);//输出最大值
            Console.WriteLine("最小数位{0}", min);//输出最小值
        }
    }
}
=====王长森 请多多指教

---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ---------------------- 详细请查看:http://net.itheima.com/  
原创粉丝点击