2013-06-07 17 views
5

dizisi dizisini tamsayısından A değeri A olan bir değerden almak istiyorum. Örneğin, A=3 ve B=9. Şimdi bir kod satırı ve bir döngü olmadan bir dizi 3,4,5,6,7,8,9 oluşturmak istiyorum. Enumerable.Range ile oynadım ama işe yarayan bir çözüm bulamıyorum.C#: sekanstan minime maks

Herhangi bir fikri olan var mı?

+6

Yanıtların Enumerable.Range kullanması muhtemel olduğu göz önünde bulundurulduğunda, daha önce denediğiniz şeyi gösterip göstermediğinize gerçekten yardımcı olacaktı ve ne olduğunu anlattı. –

+2

@Marc & Ilya, Bu sadece aldığınız kolay noktaların * lot * 'dur. –

cevap

21
var sequence = Enumerable.Range(min, max - min + 1); 

? Eğer (çok ve rakamlardan oluşan sürü ve bunların işlenmesi doğası akışı olduğunu varsa

for(int i = min; i <= max ; i++) { // note inclusive of both min and max 
    // good old-fashioned honest loops; they still work! who knew! 
} 
16
int A = 3; 
int B = 9; 
var seq = Enumerable.Range(A, B - A + 1); 

Console.WriteLine(string.Join(", ", seq)); //prints 3, 4, 5, 6, 7, 8, 9 

idare: -

bilgi için olsa şahsen ben hala bir döngü kullanmak için cazip olacaktır her seferinde birer adet), daha sonra bellekteki tüm belleği diziyle tutmanıza gerek yok ve IEnumerable<T> arayüzü ile onlarla çalışmak rahat.

İlgili konular