Upozornění kompilátoru (úroveň 3) CS1718
Porovnání provedené se stejnou proměnnou; Chtěl jsi porovnat něco jiného?
Pokud jste chtěli porovnat s něčím jiným, opravte příkaz.
Ale další možností je, že jste testovali pravdivý nebo nepravdivý, a prováděli jste to příkazy, jako if (a == a) (true)
jsou nebo if (a < a) (false)
. Je lepší použít if (true)
nebo if (false)
, z následujících dvou důvodů:
Je jednodušší: vždy je jasnější jednoduše říct, co myslíte.
Pomáhá vyhnout se nejasnostem: nová funkce jazyka C# 2.0 je typy hodnot null, které jsou analogické s hodnotou
null
v jazyce T-SQL, programovacím jazykem používaným SQL Serverem. Vývojáři, kteří jsou obeznámeni s T-SQL, se můžou zabývat účinkem typů hodnot s možnou hodnotou null na výrazy, jakoif (a == a)
je použití ternární logiky v T-SQL. Pokud používátetrue
nebofalse
, zabráníte tomu, aby se toto možné nejasnosti.
Následující kód vygeneruje upozornění CS1718.
// CS1718.cs
using System;
public class Tester
{
public static void Main()
{
int i = 0;
if (i == i) { // CS1718.cs
//if (true) {
i++;
}
}
}
Zpětná vazba k produktu .NET
.NET je open source projekt. Vyberte odkaz pro poskytnutí zpětné vazby: