Không phải là đồng bằng tổng hợp mà là đồng bằng của mỗi phần tử. Dưới đây là một số mã để giải thích ý tôi là:Tôi có thể lấy delta của hai IEnumerables trong LINQ không?
var deltaTotals = _deltaEnumerable.Select(a => a.Amount).ToList();
var oldTotals = _totalsEnumerable.Select(d => d.Amount).ToList();
// trigger change in _totalsEnumerable
// ** can LINQ do the lines below
var newTotals = totalsEnumerable.Select(d => d.Amount);
for (var i = 0; i < 7; i++) {
var newAmount = oldTotals[i] - deltaTotals[i];
Assert.That(newTotals.ElementAt(i), Is.EqualTo(newAmount));
}
Đó là bốn dòng mã cuối cùng dường như có cách làm thanh lịch hơn trong LINQ bằng cách nào đó.
Chúc mừng,
Berryl
Làm mát. Zip dường như không có ý định tiết lộ tên với tôi nhưng ít nhất nó ngắn. Khi tôi lần đầu tiên nhìn thấy câu trả lời của bạn, tôi nghĩ rằng đó là một tải về! Chúc mừng – Berryl
Đúng, đó không phải là tên dễ khám phá nhất trên thế giới. Tôi nghĩ Eric Lippert đã đặt ra thuật ngữ: http://blogs.msdn.com/ericlippert/archive/2009/05/07/zip-me-up.aspx. Dù bằng cách nào, đó là một phần mở rộng hữu ích. :) – Aaronaught
tên đến từ các ngôn ngữ chức năng. Nó được gọi là như vậy bởi vì nó hoạt động giống như một dây kéo. Theo mặc định nó sẽ làm một cái gì đó giống như hình thức tuples nơi yếu tố đầu tiên đến từ danh sách 1 thứ 2 từ 2. – flq