SORU
23 NİSAN 2012, PAZARTESİ


Sum int'Listesi<int> aralığı;

Bu oldukça basit olacak sanırım ama bunu nasıl çözemiyorum. List<int> ve sayılar bir dizi toplamı istiyorum.

Benim listem söyle:

var list = new List<int>()
{
    1, 2, 3, 4
};

Nasıl ilk 3 nesneler toplamı alabilirim? Sonuç 6. Enumerable.Range kullanmaya çalıştım ama emin değilim, eğer bu işi en iyi yolu ise bu iş için işimi göremedi.

Yapmadan:

int sum = list[0]   list[1]   list[2];

CEVAP
23 NİSAN 2012, PAZARTESİ


* & Sum*22 kullanarak bunu başarabilirsiniz:

var list = new List<int>()
{
    1, 2, 3, 4
};

// 1   2   3
int sum = list.Take(3).Sum(); // Result: 6

Eğer bir dizi başka bir yerde başına topla istiyorsanız, Skip kullanabilirsiniz:

var list = new List<int>()
{
    1, 2, 3, 4
};

// 3   4
int sum = list.Skip(2).Take(2).Sum(); // Result: 7

Ya da, sizin listesi OrderBy OrderByDescending kullanarak yeniden düzenlemek ve topla o zaman:

var list = new List<int>()
{
    1, 2, 3, 4
};

// 3   4
int sum = list.OrderByDescending(x => x).Take(2).Sum(); // Result: 7

Gördüğünüz gibi, bu görevi gerçekleştirmek için yol (veya ilgili görevler) vardır. Daha fazla bilgi için*27, , , * & ***30 31* *Skip*28 belgelerine bakın.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • booba1234

    booba1234

    22 Temmuz 2006
  • newport83

    newport83

    19 HAZİRAN 2006