kullanarak Listesinden bir sağlanan endeks aralığında değerleri seçmek için:aşağıdaki modernleşmek için ben kullanmaya çalışınca bir LINQ newbie LINQ
Ben ints bir listesi var: -
List<int> intList = new List<int>(new int[]{1,2,3,3,2,1});
Şimdi, LINQ kullanarak ilk üç öğenin [indeks aralığı 0-2] son üç [indeks aralığı 3-5] ile karşılaştırmak istiyorum. LINQ Select çalıştı ve uzatma yöntemleri yanı sıra SelectMany yöntemini al, fakat benim de uzatma yöntemini içerir baktı şey
(from p in intList
where p in Take contiguous elements of intList from index x to x+n
select p).sum()
gibi nasıl söyleyeceğimi bilemiyorum, ama bu almak görmüyor ben ne istersem Baska öneri? Teşekkürler.
Not olabilir. wordpress.com/2012/08/27/performance-of-skip-and-take-in-linq-to-objects/, http://geekswithblogs.net/BlackRabbitCoder/archive/2012/03/29/c.net -little-wonders-skip-and-take.aspx – nawfal
Bu, iyi, geçerli bir yorumdur (bu yüzden bir kaç yıl önce aynı şeyi söyleyen cevap yazarımı yedim o kadar geçerliydi), özellikle de LINQ hakkında sordu. yapamazsın y kaynağınız olarak bir List garanti eder. Bu, söz konusu gerçek sorunun basitleştirilmiş bir versiyonu olabilir, basitleştirilmiş versiyon sadece kodlanmış bir Liste (ve gerçekten bir nesne grafiğinde veya SQL sorgusunda bir LINQ üzerinde bir sorgu olabilir). –