我使用JetBrains Rider在C#中进行编程。通常,Rider会在我的代码中强调一些操作,例如以下一个list.Where
LINQ方法调用:
[当我将鼠标光标放在Where
关键字上时,它显示以下消息:
编译不会生成任何警告,Rider本身也不会显示任何警告。但是那是什么意思呢?
因为您正在实现集合(即.ToList()),它只是通知您,当您不进行[[需要时(即通过删除将其保留为IEnumerable)将分配内存来存储新集合。 ToList())
这里的重点是通知您进行分配,装箱,拆箱等的代码。>>
这些东西
可能
对您来说意味着什么,但通常仅在您要处理非常受限的执行环境或受限的执行配置文件(例如低内存嵌入式系统或游戏编程)时使用,其中内存分配或垃圾回收如果可以的话,您要避免这些。如果您不太在意此插件的内容,可以通过转到File-> Settings-> Plugins并搜索它来从Rider中安全地禁用或删除它。编译器既不警告也不产生错误的原因是,该代码实际上是完全良性且没有问题的,但是它具有一些副作用,您可能需要代替上面描述的情况。