Giải pháp nào được ưu tiên?Câu lệnh C# Linq hoặc foreach() cho tổng số tập hợp con?
Đối với một danh sách:
List<ExampleInfo> exampleList = new List<ExampleInfo>();
public class ExampleInfo
{
internal ExampleInfo()
{ }
/* Business Properties */
public int Id { get; set; }
public string Type { get; set; }
public decimal Total { get; set; }
}
Tôi muốn để có được tổng số phụ dựa off the 'Tổng' giá trị.
Lựa chọn 1:
var subtotal1 = exampleList.Where(x => x.Type == "Subtype1").Sum(x => x.Total);
var subtotal2 = exampleList.Where(x => x.Type == "Subtype2").Sum(x => x.Total);
Phương án 2:
decimal subtotal1 = 0m;
decimal subtotal2 = 0m;
foreach (ExampleInfo example in exampleList)
{
switch (example.Type)
{
case "Subtype1":
subtotal1 += example.Total;
break;
case "Subtype2":
subtotal2 += example.Total;
break;
default:
break;
}
}
Danh sách này sẽ được < 10 mặt hàng ở hầu hết các trường hợp.
Chỉnh sửa: Chris đã nêu lên một điểm rất hay mà tôi không đề cập đến. Chương trình đã sử dụng .NET Framework 3.5 SP1 nên khả năng tương thích không quan trọng ở đây.
Chính xác những gì tôi đã bận rộn gõ cùng một lúc :) –
ha tôi chỉ cần gõ tương đương chức năng –