Rob*_*ino 1 c# syntax constructor
假设我有一个对象:
public class A
{
private int m_a;
private int m_b;
A(int a, int b)
{
m_a = a;
m_b = b;
}
}
Run Code Online (Sandbox Code Playgroud)
这可以完成工作,但我有一个朦胧的记忆被告知它不必要地将整数复制到参数a和b中,然后复制到m_a和m_b中.有没有办法定义类,使参数直接传递给它们的成员对应物?
请注意,我不想讨论C#Object Constructor - 简写属性语法,因为onus是在使用该类的人.
当然,我可能完全错了,也许编译器会消除这些琐事,因此我应该乐意接受任何一种方式的教育.
这有效,但我有一个朦胧的记忆被告知它不必要地将整数复制到参数a和b然后再复制到m_a和m_b.
是,这些值被复制到参数 a和b,然后到对象本身的状态.
从根本上说,这只是成员调用工作方式的一部分,而且是不可避免的.C#的未来版本很可能有一种方法可以在源代码中表达更简单,但是存在的"开销"仍然存在 - 并且在绝大多数程序中都是微不足道的.(事实上它可能被内联的JIT编译器优化了......但你几乎肯定不会担心它.)
| 归档时间: |
|
| 查看次数: |
122 次 |
| 最近记录: |