方法重載|返回數組|out/ref|自己寫tryparse

一、方法重載

<span style="font-size:18px;">//方法重載。與參數有關,返回值無關
            //因爲有重載,所以可以放不同類型的值
            //爲什麼要重載?方便。</span>

二、返回數組

<span style="font-size:18px;">static void Main(string[] args)
        {

            int[] nums = { 1, 2, 3, 4, 5, 6, 7 };
            int[] arrayNumbers = ArraySumMaxorMIn(nums);

            Console.WriteLine("最大值{0}", arrayNumbers[0]);
            Console.WriteLine("最小值{0}", arrayNumbers[1]);
            Console.WriteLine("和{0}", arrayNumbers[2]);
            Console.ReadKey();
        }
        //返回一個數組
        //方法求 和 最大值 最小值
        public static int[] ArraySumMaxorMIn(int[] numbers)
        {
            int[] array = new int[3];
            array[0] = int.MinValue;
            array[1] = int.MaxValue;
            for (int i = 0; i < numbers.Length; i++)
            {
                if (numbers[i] > array[0])
                {
                    array[0] = numbers[i];

                }
                if (numbers[i] < array[1])
                {
                    array[1] = numbers[i];
                }
                array[2] += numbers[i];
            }
            return array;
        }</span>

二、out/ref

1.out

<span style="font-size:18px;">      static void Main(string[] args)
        {
            //out 傳值:方法的參數使用了out,只能方法內部對參數賦值
            //ref 傳址
            int[] nums = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
            int max;
            int min;
            int sum = Arraysum(nums, out max, out min);
            Console.WriteLine("{0},{1},{2}",sum ,max ,min );
            Console.ReadKey ();
        }
        public static int  Arraysum(int[] numbers,out int max,out int min)
        {
            max = int.MinValue;
            min = int.MaxValue;
            int sum = 0;
            for(int i=0;i<numbers .Length ;i++)
            {
                if (numbers [i]>max)
                {
                    max = numbers[i];
                }
                if (numbers [i]<min)
                {
                    min = numbers[i];
                }
                sum += numbers[i];
            }
            return sum;
        }</span>

2.ref

   static void Main(string[] args)
        {
            int number = 99;
            int num = show(ref number);
            Console.WriteLine("{0},{1}",num,number);//num是109,number是99
            Console.ReadKey();
        }
        public static int show(ref int num)
        {
            return num + 10;//ref可以不給參數賦值。
        }


四、自己寫tryparse方法

<span style="font-size:18px;">  static void Main(string[] args)
        {
            Console.WriteLine("請輸入一個數字");
            string strNumber = Console.ReadLine();
            int num;
            bool result = Program.MytryParse(strNumber, out num);
            if (result)
            {
                Console.WriteLine(num);
                Console.ReadKey();
            }
        }
        //自己寫tryparse 方法
        public static bool MytryParse(string s, out int result)
        {
            result = 0;
            while (true)
            {
                try
                {
                    result = Convert.ToInt32(s);
                    return true;
                }
                catch
                {
                    Console.WriteLine("格式錯誤,請輸入數字");
                    s = Console.ReadLine();//輸入錯誤後,可以繼續輸入
                }
            }
        }</span>



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章