Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Tìm phần tử nhỏ nhất trong mảng C#


Giới thiệu

Phương thức mở rộng Min() trong System.Linq trả về giá trị nhỏ nhất trong một mảng hoặc tập hợp số.

Ví dụ cơ bản

int[] arr = { 5, 9, 2, 7 };
int min = arr.Min(); // 2

Ví dụ hoàn chỉnh

using System;
using System.Linq;

class Demo
{
    static void Main()
    {
        int[] arr = { 5, 9, 2, 7 };
        Console.WriteLine(arr.Min());
    }
}

Kết quả

2

Các nạp chồng hữu ích

  • Min() - cho kiểu số cơ bản (int, double, decimal, ...).
  • Min(Func<T, TResult>) - chiếu (project) từng phần tử trước khi so sánh.

Ví dụ với Selector

// Tìm chuỗi có độ dài nhỏ nhất
string[] words = { "apple", "banana", "fig", "cherry" };
int minLength = words.Min(w => w.Length); // 3 ("fig")

// Tìm đối tượng có tuổi nhỏ nhất
var youngest = people.Min(p => p.Age);

Lưu ý

  • Ném InvalidOperationException nếu tập hợp rỗng.
  • Dùng MinOrDefault() (từ .NET 6) hoặc DefaultIfEmpty().Min() để tránh ngoại lệ.
  • Với kiểu tham chiếu, selector không được trả về null (trừ khi dùng nullable).