
17.12.2009, 23:48
|
|
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
С нами:
10048706
Репутация:
1540
|
|
Сообщение от Algol
МиниКвест.
Недавно выловил такой вот баг в программе:
Требовалось перебрать все значения байта от 0 до 255. Как оказалось, это сделать не так-то просто  Очевидный, на первый взгляд код, не работает:
Код:
for (byte b = 0; b <= 255; b++)
Console.WriteLine(b);
Кто скажет почему не работает этот код? (желательно без компиляции  )
тут как-то замешано то, что все типы в .net основаны на object, и byte - это не привычные 8 битов.
Решение: Использовать CompareTo()
рабочий пример:
Код:
byte b = 0x0;
for (; b.CompareTo(0xFF)<0 ; b++) Console.WriteLine("{0}",b);
Последний раз редактировалось scrat; 18.12.2009 в 00:04..
|
|
|