Помогите найти ошибку C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Введите 18-ти значное число");
long n = Int64.Parse(Console.ReadLine());
Console.WriteLine("Введите число на которое отличаются соседние цифры");
long m = Int64.Parse(Console.ReadLine());
//-----Ввод данных и решение задачи --------------
int kol = 0;
int k = 0;
do
{
Console.WriteLine("Выберите используемую алгоритмическую конструкцию");
Console.WriteLine("(1 — с предусловием, 2— с постусловием, 3— с известным числом повторений) ");
k = Int32.Parse(Console.ReadLine());
switch (k)
{
case 1: while (n > 0)
{
long a1 = n % 10;
long a2 = (n / 10) % 10;
long z = Math.Abs(a1 - a2);
Console.WriteLine(" рассм цифры " + a1 + " и " + a2);
if (z = m) { kol = kol + 1; }
n = n / 10;
}
break;
case 2: do
{
long a1 = n % 10;
long a2 = (n / 10) % 10;
long z = Math.Abs(a1 - a2);
Console.WriteLine(" рассм цифры " + a1 + " и " + a2);
if (z = m) { kol = kol + 1; }
n = n / 10;
} while (n > 0);
break;
case 3: for (int i = 1; i <= 18; i++)
{
long a1 = n % 10;
long a2 = (n / 10) % 10;
long z = Math.Abs(a1 - a2);
Console.WriteLine(" рассм цифры " + a1 + " и " + a2);
if (z = m) { kol = kol + 1; }
n = n / 10;
} break;
default: Console.WriteLine("Символ введен неправильно. Повторите выбор. ");
break;
}
} while (!(k >= 1 && k <= 3));
//--------Вывод результата ------------------------
Console.WriteLine(" Количество " + kol);
Console.ReadKey();
}
}
}
Вот в этом месте if (z = m) { kol = kol + 1; } говорит, что неявное преобразование типа bool в long
не наверное, а точно в c#
== - сравнение (равно)
!= - сравнение (неравно)
Спасибо)
'=' - присваивание, а '==' - булево равенство, наверное должно быть '=='
Спасибо)