コードインスペクション:代入が使用されていません
コードの制御フローを分析することで、JetBrains Rider はフィールドやローカル変数の冗長なイニシャライザーを検出できます。 割り当てた値がいずれかの実行パスで次の割り当てが行われるまで使用されない場合、JetBrains Rider は冗長なイニシャライザーの削除を提案します。
このインスペクションは、あらかじめ使用されていなかったパラメーターに新しい値を割り当てるときにも機能します。 この場合、JetBrains Rider は、パラメーターをローカル変数に置き換えるべきか、割り当てが誤りかが明確でないため、修正を提案しません:
void Bar(string param)
{
param = "something new";
Console.WriteLine(param);
}
冗長な割り当ては、異なる状況で発生する可能性があります。 例: 変数がデフォルト値で初期化されている場合、または以下に示すように、デフォルト以外の値が割り当てられても使用されない場合。 myDoc は XDocument の新しいインスタンスで初期化されていますが、次の行は a または b に割り当てられているため、最初に作成されたオブジェクトはガベージコレクタの新しいタスクに過ぎません。
このインスペクションが提案する クイックフィックスの例を以下に示します。
XElement GetRoot(bool flag, XDocument a, XDocument b)
{
var myDoc = new XDocument();
myDoc = flag ? a : b;
return myDoc.Root;
}
XElement GetRoot(bool flag, XDocument a, XDocument b)
{
XDocument myDoc;
myDoc = flag ? a : b;
return myDoc.Root;
}
2026 年 6 月 12 日