Головна‎ > ‎C#‎ > ‎Додатково‎ > ‎

Глюки

1. Не точні підрахунки при роботі числами з дробовою частиною {1.25} = 1.25 - 1 = 0.25

double
a = 5.1;
double b = 5.5;
while (a!=b) {
     a+=0.1;
     Console.WriteLine(a);
     if (a > 6) { break; }
}

5,2
5,3
5,4
5,5 - не спрацювала
5,6
5,7
5,8
5,9
6
6,1
Press any key to continue . . .

Якщо запустити в режимі налогодження F11 і ще кілька разів натиснути F11: 
a  5.4999999999999982  double
b  5.5  double


2. 
string a = "AB";
Console.WriteLine(a[0] + a[1]);         // 131
Console.WriteLine("" + a[0] + a[1]);  // AB



3. 

int a = 2;
for (int i = 0; i < 10; i++)
{
     a *= a;
     Console.WriteLine(a);
}

4
16
256
65536
0
0
0
0
0
0



4. Небезпечний код
Build -> Allow unsave code

int a = 6;
int* b = &a;
*b = 10;



5. Список

List<string> list = new List<string>();

list.Add("1");
list.Add("12");
list.Add("123");
list.Add("1234");
list.Add("12345");

for (int i = 0; i < list.Count; i++)
{
     if (list.Contains("1"))            // або list.IndexOf("1") != -1
     {
          Console.Write("*");
     }
}

*****