C# методы - использование параметров
Есть вот такой код. Не могу понять как работает подсчет.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
1. class chKnum
2. {
3. public bool IsPrime(int x)
4. {
5. if (x <= 1) return false;
6. for (int i = 2; i <= x / i; i++)
7. if ((x % i) == 0) return false;
8. return true;
9.
10. }
11. }
12.
13. class pardemo
14. {
15. static void Main ()
16. {
17. chKnum ob = new chKnum ();
18.
19. for (int i = 2; i <= 10; i++)
20. if (ob.IsPrime(i)) Console.WriteLine(i + " prostoe 4islo ");
21. else Console.WriteLine(i + " ne prostoe 4islo ");
22. Console.ReadLine();
23. }
24.
25. }
Понимаю что программа начинается с класса pardemo 13-ая строка кода далее идет счетчик и метод if передает методу ob.Isprime значение 2 далее кода направляется в класс chknum строка кода 1 и далее в метод isprime if ( x<=1) return false - это выполняется - переходим в сл. метод строка кода 6-ая ( буду сразу подставлять значение как я понял for (int i = 2; i(2) <= x(2) / i(2); i++) - тут получается что все выполняется и в сл. обращении к методу i будет инкрементирована. А вот тут в строке кода 7 не пойму, опять же подставляю значения как я понял if ((x(2) % i(2)) == 0) return false; - после очередного обращения к коду как я понимаю что х что i будут одинаково увеличены на единицу и всегда будет тру - помогите пожалуйста разобраться в коде.