配列をソートするためのこのコードがありましたが、ソートが機能していないことに気付きました:
if(desc)items.OrderByDescending(x=>x.ExpirationDate);
else items.OrderBy(x=>x.ExpirationDate);
正しいコードは次のとおりです。
if(desc)items=items.OrderByDescending(x=>x.ExpirationDate).ToArray();
else items=items.OrderBy(x=>x.ExpirationDate).ToArray();
しかし、なぜコンパイラ (私は Mono と Visual C# 2010 の両方を使用している) がエラーや警告を出さなかったのでしょうか? いくつかの設定が欠けているのでしょうか、それとも C# コンパイラが元のコードが役に立たなかったことを認識できないのでしょうか? 後者の場合、コンパイルに追加できる、このような特定の間違いを探す lint ツールはありますか?