我使用 JetBrains Rider 在 C# 中进行编程。通常,Rider 会在我的代码中强调一些操作,例如下面的 list.Where
LINQ 方法调用:
当我将鼠标光标放在Where
关键字上时,它会显示以下消息:
编译不会生成任何警告,Rider 本身也不会显示任何警告。但它的含义是什么?
最佳答案
亮点来自一个插件,“堆分配查看器”。
高亮部分用于通知您执行分配、装箱、拆箱等的代码。
这些东西可能对您来说意味着什么,但通常只有在您处理非常受限的执行环境或受限的执行配置文件时,例如低内存嵌入式系统或游戏编程,其中内存如果可以的话,您希望避免分配或垃圾回收。
如果您并不真正关心这个插件告诉您什么,您可以通过转到文件->设置->插件并搜索它来安全地禁用或从 Rider 中删除它。
编译器既不发出警告也不产生错误的原因是代码实际上是完全良性且没有问题的,但它有一些副作用,您可能希望避免这些副作用来代替上述情况。
关于c# - "Object allocation: LINQ method call"的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59353992/