コンパイラの警告 (レベル 3) CS1717
同じ変数に割り当てられました。他の変数に割り当てますか?
この警告は、 a = a
のように変数をそれ自体に代入したときに発生します。
いくつかの一般的なミスにより、この警告が生成されることがあります。
if ステートメントの条件として
a = a
と記述した場合 (例: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
}
}
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET