C#方法(用法,參數)


方法:是一種用於實現可以由對象或類執行的計算或操作的成員,是一個已命名的語句集。方法就是把一些相關的語句組織到一起,用來執行一個任務的語句塊。比如每個C#程序至少帶一個main函數

1.格式:修飾符  返回值類型  方法名稱 (參數列表)

{

方法體

}

2.每個方法都有一個名稱和一個主體

    方法名稱:是一個有意義的標識符,應當描述出方法的用途。

    方法主體:包含了調用方法時實際執行的語句

    修飾符:public ,private, static等等

    返回值類型:void, int ,double等等

    參數列表可為數組

3.用戶可以為大多數方法提供一些數據來進行處理,並讓其返回一些信息(通常是處理結果)

下面是方法的各個元素:

  • Access Specifier:訪問修飾符,這個決定了變量或方法對於另一個類的可見性。
  • Return type:返回類型,一個方法可以返回一個值。返回類型是方法返回的值的數據類型。如果方法不返回任何值,則返回類型為 void
  • Method name:方法名稱,是一個唯一的標識符,且是大小寫敏感的。它不能與類中聲明的其他標識符相同。
  • Parameter list:參數列表,使用圓括號括起來,該參數是用來傳遞和接收方法的數據。參數列表是指方法的參數類型、順序和數量。參數是可選的,也就是說,一個方法可能不包含參數。
  • Method body:方法主體,包含了完成任務所需的指令集。

For example

 

        //編寫一個方法用於計算給定整型數組元素的和
        static int Add(params int[] nums)
        {
            int sum = 0;
            foreach (int outnum in nums) sum += outnum;
            return sum;
        }
        static void Main(string[] args)
        {
            int[] myintArry = { 1, 2, 3, 4, 5 };
            Console.WriteLine(Add(myintArry));
            Console.ReadKey();

當調用帶有參數的方法時,您需要向方法傳遞參數。在 C# 中,有三種向方法傳遞參數的方式:值類型,引用類型,輸出類型

值類型:傳值給方法,方法中的變量修改不影響參數列表,復制參數的實際值給函數的形式參數,實參和形參使用的是兩個不同內存中的值。在這種情況下,當形參的值發生改變時,不會影響實參的值,從而保證了實參數據的安全。

For example

       //編寫一個方法用於求平方(沒有返回值)
        static void Square(int num)
        {
            num *= num;
            Console.WriteLine("num平方="+num);

        }
        static void Main(string[] args)
        {
            int num = 10;
            Console.WriteLine(num);
            Square(num);
            Console.WriteLine(num);
            Console.ReadKey();

引用類型:這種方式復制參數的內存位置的引用給形式參數。這意味着,當形參的值發生改變時,同時也改變實參的值。

ref關鍵詞指定,使用:1.調用函數變量必須非常量;2.調用變量必須初始化。

For example

        //編寫一個方法用於求平方(沒有返回值)
        static void Square(ref int num)
        {
            num *= num;
            Console.WriteLine("num平方="+num);

        }
        static void Main(string[] args)
        {
            int num = 10;
            Console.WriteLine(num);
            Square( ref num);
            Console.WriteLine(num);
            Console.ReadKey();

輸出參數:可以返回多個值

1.執行方式與ref完全一樣,關鍵字為out

For example

       //編寫一個方法用於計算輸出數組中最大的值
        static int MaxNum(int[] nums, out int MaxNumIndex)
        {
            int maxNum = nums[0];
            MaxNumIndex = 0;
            for (int i = 0; i < nums.Length; i++)
            {
                if (maxNum < nums[i])
                    maxNum = nums[i];
                    MaxNumIndex = i;
            }
             return maxNum;
        }
        static void Main(string[] args)
        {
            //int[] a= { 1, 2, 3, 4, 5 ,6};
            //Console.WriteLine(Add(a));
            //Console.ReadKey();
            int[] a = {1,2,3,5,6,8,9,11};
            int MaxNumIndex;
            Console.WriteLine("最大值max={0},最大值索引是{1}",MaxNum(a,out MaxNumIndex),MaxNumIndex);
            Console.ReadKey();

注:輸出變量與引用變量的區別

1.未初始化的變量用作ref非法,而out合法

2.函數調用out參數量,必須把它當作尚未賦值(即可以把已賦值的變量當作out參數,但存儲在該變量中的值在方法執行時會丟失)

3.ref,out必須在調用及定義方法時聲明

 


免責聲明!

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



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