1. 程式人生 > >.NET基礎之C#函式

.NET基礎之C#函式

int[] data = {0, 5, 2, 6, 3, 4};
Array.Sort(data);//陣列升序
Array.Reverse(data);//陣列反轉
//陣列升序後再反轉,則實現陣列降序

out引數的使用
注:out修飾的引數在定義時可以不賦初值,但在函式中必須賦值

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{

    class Program
    {
        static void Main(string[] args)
        {
            int max;
            int min;
            int avg;
            int[] data = { 1, 2, 6, 7, 3 };
            Test(data, out max, out min, out avg);
            Console.WriteLine("max = {0}\nmin = {1}\navg = {0}", max, min, avg);
        }

        public static void Test(int[] num, out int max, out int min, out int avg)
        {
            max = num[0];
            min = num[0];
            int sum = 0;
            for (int i = 0; i < num.Length; i++)
            {
                if (max < num[i])
                    max = num[i];
                if (min > num[i])
                    min = num[i];
                sum += num[i];
            }
            avg = sum / num.Length;
        }
    }
}

ref引數的使用
注:ref修飾的引數在定義時必須賦初值,在函式中可以不賦值

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int x = 1;
            int y = 2;
            Change(ref x, ref y);
            Console.WriteLine("x = {0}, y = {1}", x, y);
            Console.ReadKey();
        }

        public static void Change(ref int a, ref int b)
        {
            int temp = a;
            a = b;
            b = temp;
        }
    }
}

params引數的使用
注:params修飾的引數必須放在函式的最後一個引數位置

class Program
{
    static void Main(string[] args)
    {
        int[] data = {1, 2, 3, 4, 5};
        string name = "小明";
        int sum;
        //方法一,直接傳遞陣列
        GetSum(out sum, data);
        //方法二,此方法params引數必須放在最後
        GetSum(out sum, 1, 2, 3, 4, 5);
        Console.WriteLine("{0}的成績總分是{1}", name, sum);
        Console.ReadKey();
    }

    public static void GetSum(out int sum, params int[] Data)
    {
        sum = 0;
        foreach(int i in Data)
        {
            sum += i;
        }
    }
}