Bài tập C#

Trả về nhiều số liệu thống kê bằng tuple trong C#

Trong bài học này, bạn sẽ viết một phương thức trả về giá trị nhỏ nhất, lớn nhất và trung bình cùng lúc bằng tuple.

Giới thiệu

Khi một phương thức cần trả về vài giá trị liên quan với nhau, tuple là cách đơn giản nhất mà không phải tạo thêm class. Bạn còn có thể phân rã (deconstruct) tuple, tức là gán từng giá trị vào các biến riêng ngay khi nhận kết quả.

Phương thức Stats trả về tuple gồm ba giá trị có tên Min, Max và Average. Câu lệnh var (min, max, average) = Stats(...) phân rã tuple thành ba biến riêng biệt. Định dạng {average:F1} hiển thị giá trị trung bình với một chữ số thập phân, nên kết quả là 2, 8, 5.0.

Ví dụ C# chạy được

C#
Chạy code →
Program.cs
using System;
using System.Linq;
class Program
{
    static (int Min, int Max, double Average) Stats(int[] values)
        => (values.Min(), values.Max(), values.Average());
    static void Main()
    {
        var (min, max, average) = Stats(new[] { 2, 5, 8 });
        Console.WriteLine($"{min}, {max}, {average:F1}");
    }
}
Kết quả khi chạy
2, 8, 5.0

Luyện tập với trình gỡ lỗi

Đặt breakpoint ở một phép gán hoặc điều kiện quan trọng, bấm Debug và xem giá trị các biến cục bộ (local variable) trước khi bước sang dòng tiếp theo.

Luyện tập với thử thách

Áp dụng kiến thức của bài học này để giải một bài toán thực tế. Mỗi thử thách chạy ngay trên trình duyệt, có kiểm thử tức thì và AI nhận xét.

Tất cả thử thách