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
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}");
}
}
2, 8, 5.0Luyện tập với trình gỡ lỗi
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.
- Min and Max Together Find the smallest and largest value in one pass. Dễ
- Trung vị của một danh sách Tìm giá trị ở giữa của một danh sách sau khi sắp xếp. Dễ