Предупреждение компилятора (уровень 3) CS1717
Проведено присвоение той же переменной; действительно выполнить такое назначение, а не иное?
Это предупреждение возникает при назначении переменной самой себе, например a = a
.
Это предупреждение создается в результате нескольких распространенных ошибок.
Указание
a = a
в качестве условия инструкции if , напримерif (a = a)
. Возможно, имелось в виду условиеif (a == a)
, которое всегда имеет значение true, так что это можно написать более сжато какif (true)
.Опечатки. Возможно, имелось в виду
a = b
.В конструкторе, где параметр имеет то же имя, что и поле, не используется ключевое слово this : возможно, имелось в виду
this.a = a
.
Пример
Следующий пример приводит к возникновению ошибки CS1717.
// CS1717.cs
// compile with: /W:3
public class Test
{
public static void Main()
{
int x = 0;
x = x; // CS1717
}
}