C#不同的方法來獲取一個數組中的最大值

首先我們來建一個Console工程

C#不同的方法來獲取一個數組中的最大值

我們調用Random類來產生50個隨機數保存在一個int數組裡面,再編寫一個GetMax方法來獲取最大值

C#不同的方法來獲取一個數組中的最大值

運行結果:

C#不同的方法來獲取一個數組中的最大值

接下來,我們改一改

C#不同的方法來獲取一個數組中的最大值

運行結果:

C#不同的方法來獲取一個數組中的最大值

最後貼出完整的代碼:

static void Main(string[] args)

{

Random rnd = new Random();

int[] array = new int[50];

for (int i = 0; i < array.Length; i++)

{

array[i] = rnd.Next(0, 10001);

}

Console.WriteLine("數組中的數為:");

foreach (var item in array)

{

Console.Write(item + " ");

}

Console.WriteLine("");

Console.WriteLine("數組中最大的數是: {0}", GetMax(array));

//用委託來實現 我們知道List泛型集合有個方法Max()

//所以我們將數組先添加到List泛型集合再調用Max()方法來實現

Func getMax2 = new Func(arr => { return new List(arr).Max(); });

Console.WriteLine("第二種方法得到數組中最大的數是: {0}", getMax2(array));

//我們知道Array類有個方法sort()可以將成員排序,默認是升序排列,

//所以我們排序之後取得最後一個成員就是最大值,如下:

Array.Sort(array);

Console.WriteLine("第三種方法得到數組中最大的數是: {0}", array[array.Length-1] );

//將上面方法改成委託的形式來調用

Func getMax3 = new Func(arr => {

Array.Sort(arr); return arr[arr.Length - 1]; });

Console.WriteLine("第三種方法改成委託調用得到數組中最大的數是: {0}", getMax3(array));

Console.ReadLine();

}

public static int GetMax(int[] arr)

{

int max = 0;

//找出最大數

foreach (var item in arr)

{

max = item > max ? max = item : max;

}

return max;

}


分享到:


相關文章: