C#中的方法,方法的重載,以及幾個關鍵字


              嘿嘿,今天來的早點啦,主要有問題解決不了,希望看到的親們知道怎么整的給我說下,先謝謝哦:-D

             <一>首先復習了三元表達式:即  表達式1,表達式2,表達式3;

                                           舉例: bool result = 5 > 3 ? true : false;

             <二>隨機數的產生,這個話說用的不多吧,但是還是知道的好 即:

                

Random r=new Random();
Int number=r.Next(1,11);產生1-10的數

   這就是一方法吧,感覺挺好玩的,可以試下。

             <三>然后學習了方法,我在雲和學院學習,在這老師給我們的理解是:方法就是將一堆代碼進行重用的一種機制。方法就是一段代碼,這段代碼可能有輸入的值(參數),可能會返回值。一個方法就像一個專門做這件事的人,我們調用它來做一些事情,它可能需要我們提供一些數據給它,它執行完成后可能會有一些執行結果給我們。要求的數據就叫參數,返回的執行結果就是返回值。由於我們現在了解的還不多,所以老師只能簡單的讓我們了解了···

方法的定義:看見static就是靜態方法

[訪問修飾符] [static] 返回值類型 方法名()

{

方法體;

}

•命名規則:方法名開頭大寫,參數名開頭小寫,參數名、變量名要有意義
•方法的調用,對於靜態方法,調用有兩種方式
•如果在同一個類中,直接寫名字調用就行了.
•或者類名.方法名();
•return可以立即退出方法.

             今天也學習了幾個實例,但是我寫下我做的練習吧

             (1)重復讓用戶輸入一個數,判斷該數是否是質數,輸入q結束?質數的判斷用方法來實現bool IsPrime(int number)

class Program
    {
       static void Main(string[] args)
        {
            Console.WriteLine("請輸入一個數字:");
            int nums = int.Parse(Console.ReadLine());
            IsPrime(nums);
            Console.WriteLine(IsPrime(nums));
            Console.ReadKey();
        }
        public static bool IsPrime(int num)
        {
            int s=2;
            string nums = string.Empty;
            bool flag = false;
            for (int i = 1; i < s; i++)
            {
                flag = s % i == 0;
                if (nums == "q")
                {
                    break;
                }
            }
            Console.WriteLine("這是一個質數");
            return false;
        }
    }

    在方法IsPrime中,需要把num轉換成string,就是這句string nums = string.Empty;不知道該怎么改寫,導致最后輸出的不對,很糾結···

                 (2)用方法實現找出一個int類型數組中最大值和最小值

class Program
{
  static void Main(string[] args)
        {
            int[] nums ={23, 45, 12, 3, 2, 56, 58, 46, 59, 12};
            int num = Max(nums);
            int num0 = Min(nums);
            Console.WriteLine("最大的值{0}",num);
            Console.WriteLine("最小的值{0}", num0);
            Console.ReadKey();
        }
        /// <summary>
        /// 最大值
        /// </summary>
        /// <param name="arrey"></param>
        /// <returns></returns>
        public static int Max(int[] arrey)
        {
            int max = 0;
            for (int i = 0; i < arrey.Length; i++)
            {
                if (max < arrey[i])
                {
                    max = arrey[i];
                }
            }
            return max;
        }
        /// <summary>
        /// 最小值
        /// </summary>
        /// <param name="arrey"></param>
        /// <returns></returns>
        public static int Min(int[] arrey)
        {
            int min = 0;
            for (int i = 0; i < arrey.Length; i++)
            {
                if (min > arrey[i])
                {
                    min = arrey[i];
                }
            }
            return min;
        }
    }

  這個方法比較簡單,寫方法比較簡單,調用起來也沒有好多搞不清楚讓人暈的感覺。。。所以感覺自己還是需要多努力,多寫幾個方法調用練習啦···

             (3)用戶只能輸入0到100之間的數寫一個方法否則提示超出范圍

class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("請輸入一個數字:");
            int num = int.Parse(Console.ReadLine());
            Int(num);
            Console.WriteLine(num);
            Console.ReadKey();
        }
        public static int Int(int integ)
        {
            if (integ < 0 || integ > 100)
            {
                Console.WriteLine("超出范圍");
            }
            return integ;
        }
    }

這個題也沒有太難啦,所以就直接寫出來啦···

                 (4)將一個字符串數組輸出為|分割的形式,比如“梅西|卡卡|鄭大世”(用方法來實現此功能)

class Program
    {
        static void Main(string[] args)
        {
            string[] nums = {"梅西","卡卡","鄭大世" };
            Console.WriteLine(Dividing(nums));
            Console.ReadKey();
        }
        public static string Dividing(string[] array)
        {
            string name = string.Empty;
            for (int i = 0; i <array.Length; i++)
            {
                name += "|" + array[i];
            }
            return name;
        }
    }

     這故事添加分隔符的,還可以啦,能寫啦,嘿嘿····

   這些都是今天的練習題,明天上課老師會講的,但是我還是像現在搞懂啦,希望能夠幫我拉······

           <四>方法的重載,需要注意的是:方法名相同,但是可以是方法的方法的參數個數不同或者方法的類型不同···(這個對我自己說的,在方法中,返回值類型與參數的類型沒有關系···),還有就是返回值類型不同不能定義同方法名的方法··········

                舉例看下:

                       這些 可以看到方法的重載的實例·········

               <五> 關鍵字out和ref,舉例如下:

                   (1)

class Program
    {
        static void Main(string[] args)
        {
            int x = 5;

            Add(ref x);
            Console.WriteLine(x);
          
            Console.ReadKey();
        }

        static int Add(ref int x)
        {
            x++;//被賦值一份后傳進來的值
            return x;
        }

 

                 (2)

class Program
    {
        static void Main(string[] args)
        {
            int[] Array = {1,4,5,6,7,89 };
            int max;
            Max(Array,out max);
            Console.WriteLine(max);
            Console.ReadKey();

        }

        static void Max(int[] Array,out int max)
        {

            int m = 0;
            for (int i = 0; i < Array.Length; i++)
            {

                if (Array[i] > m)
                {
                    m = Array[i];
                }
               
            }
            max = m;
          
        }
    }

   這兩個關鍵字很重要哦(⊙o⊙)…  而且老師也告訴我們說要記得額··········今天就寫到這啦,還要好多問題要解決啦········

                     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM