Yuvarlak bir robin dizisi oluşturmaya çalışıyorum. Bu diziyi bir döngü içinde bir grup değerle besleyeceksem ve dizinin sonuna geldiğimde (hadi 10 tane olduğunu söyleyelim), ilk dizine nasıl döneceğim?Yuvarlak robin dizisi C#
4
A
cevap
9
döngü zaman dizinin indeksi hesaplamak için modüler cebir kullanın:
myArray[index % myArray.Length]
Numune
int[] myArray = new int[10];
// Round robin feeding; trying to put 0, 1, .. 13 into int[10]:
for (int i = 0; i < 14; ++i) // note 14 > 10
myArray[i % myArray.Length] = i; // i % myArray.Length - modular arithmetics
// Test
// 10, 11, 12, 13, 4, 5, 6, 7, 8, 9
// note that first 4 values (10, 11, 12, 13) are overriden
Console.Write(String.Join(", ", myArray));
+0
Mükemmel. Basit ve zarif. Teşekkür ederim. – beardedeagle
Bir dairesel-kuyruk demek? – Dai
* Modüler * cebir size yardımcı olmalıdır: 'myArray [index% myArray.Length];' –
Dairesel tampon için Google yardımcı olmalıdır. – Warty