每当我在方法中有局部变量时,ReSharper建议将它们转换为常量:
// instead of this:
var s = "some string";
var flags = BindingFlags.Public | BindingFlags.Instance;
// ReSharper suggest to use this:
const string s = "some string";
const BindingFlags flags = BindingFlags.Public | BindingFlags.Instance;
Run Code Online (Sandbox Code Playgroud)
鉴于这些是真正的常量值(而不是变量)我理解ReSharper建议将它们更改为const.
但除此之外,使用const(例如更好的性能)是否有任何其他优势可以证明使用const BindingFlags而不是方便可读的var关键字?
BTW:我刚刚在这里发现了一个类似的问题:Resharper总是建议我创建const字符串而不是字符串,但我认为它更多的是关于类的字段,我的问题是关于局部变量/ consts.
Const被烘焙到客户端代码中.Readonly不是.但const速度更快.可能只是略有一点.
现在的问题是,是否有过,你应该喜欢的任何场景const过readonly?或者换言之,我们实际上并不总是更好地使用readonly而不是const(记住上述烘焙的东西)?