Compilerwarnung (Stufe 3) CS1718
Der Vergleich erfolgte mit der gleichen Variablen. Wollten Sie etwas anderes vergleichen?
Wenn Sie etwas anderes vergleichen wollten, korrigieren Sie die Anweisung entsprechend.
Eine andere Möglichkeit ist, dass Sie "True" oder "False" testen und dazu Anweisungen wie if (a == a) (true)
oder if (a < a) (false)
verwendet haben. Aus den folgenden beiden Gründen ist es besser, if (true)
oder if (false)
zu verwenden:
Es ist einfacher: Einfach zu sagen, was Sie meinen, bringt immer größere Klarheit.
Verwirrung wird vermieden: Ein neues Feature von C# 2.0 sind Werttypen, die auf NULL festgelegt werden können, analog zum Wert
null
in T-SQL, die von SQL Server verwendete Programmiersprache. Mit T-SQL vertraute Entwickler machen sich möglicherweise Gedanken über die Auswirkungen Nullwerte zulassender Typen auf Ausdrücke wieif (a == a)
, da in T-SQL die ternäre Logik Verwendung findet. Bei Verwendung vontrue
oderfalse
vermeiden Sie mögliche Verwirrungen.
Mit dem folgenden Code wird die Warnung CS1718 generiert.
// CS1718.cs
using System;
public class Tester
{
public static void Main()
{
int i = 0;
if (i == i) { // CS1718.cs
//if (true) {
i++;
}
}
}
Feedback zu .NET
.NET ist ein Open Source-Projekt. Wählen Sie einen Link aus, um Feedback zu geben: