|
|
1
12
我的经验法则是:
注意你的第二张表格 不 创建一个“新中间对象”。它创建了一个新的中间 变量 . 你的第一个方法真的是这样的吗?它只是让编译器有效地隐藏了变量。它仍然作为堆栈位置存在于IL中,但在源代码中没有任何表示。 说了这么多,在 这个案子 (你只想处理的地方),我相信达林的方法是最好的。 |
|
|
2
13
不是真的回答你的问题,但我建议你这样做:
让编译器担心
|
|
|
3
4
它被认为是一个更好的解决方案,因为变量分配被认为比强制转换更快。此外,编译器可以很好地优化强制转换。 不管怎样,这都是微观优化。 使用您认为最容易维护的代码。 |
|
|
4
2
第二种选择实际上更快。与访问本地变量相比,执行额外的强制转换需要更多的时间。 分配局部变量并不慢。其实根本不需要时间。 当输入一个方法时,通过向下移动堆栈指针为该方法中的本地数据分配空间来创建堆栈帧。从堆栈指针中减去一个更大的数字不需要花费更多的时间,因此为局部变量分配空间完全不需要花费时间。这不是几乎没有时间,而是实际上零时间。 局部变量的唯一开销是使用堆栈空间,但是由于它只占一兆字节(IIRC)堆栈的几个字节,所以除非进行深层递归调用,否则没有问题。 另外,如果需要的话,编译器可以自己创建局部变量,因此两种方法最终都可能使用局部变量。 |
|
|
5
1
在这里使用反射工作还是要比使用慢
我创建了两个类,一个名为
在我的
我的表单上有一个按钮执行下面的代码。使用反射,它检查我的对象是否实现
|
|
6
1
这里没有人提到fxcop显示
http://msdn.microsoft.com/en-us/library/ms182271(VS.90).aspx
|
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |