我有这个代码进行排序我的阵列,我才意识到排序不工作:为什么我的OrderBy错误没有给出编译器警告?
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();
但是为什么编译器(我同时使用单声道和Visual C#2010)不会给我一个错误,甚至是一个警告? 我错过了一些设置,或者它是根本不可能的C#编译器意识到我的原始代码是无用的?如果是后者,是否有任何lint工具可以查找这样的特定错误,那我可以添加到我的编译中?