gpt4 book ai didi

c# - 将参数直接传递给成员的构造函数语法

转载 作者:太空宇宙 更新时间:2023-11-03 17:41:06 27 4
gpt4 key购买 nike

假设我有一个对象:

public class A
{
private int m_a;
private int m_b;
A(int a, int b)
{
m_a = a;
m_b = b;
}
}

这完成了工作,但我有一个模糊的内存,被告知它不必要地将整数复制到参数 a 和 b 中,然后复制到 m_a 和 m_b 中。有没有办法定义类,使参数直接传递给对应的成员?

请注意,我不想讨论 C# Object Constructor - shorthand property syntax因为这里的责任在于使用类(class)的人。

当然,我可能完全错了,也许编译器消除了这些琐碎的事情,因此我应该很高兴接受任何一种方式的教育。

最佳答案

This works but I have a hazy memory of being told it unnecessarily copies the integers into arguments a and b and then into m_a and m_b.



是的,这些值被复制到参数 a 中和 b ,然后进入对象本身的状态。

从根本上说,这只是成员调用工作方式的一部分,而且是不可避免的。 future 的 C# 版本可能有办法让源代码更容易表达,但存在的“开销”仍然存在——并且在绝大多数程序中完全微不足道。 (事实上​​,JIT 编译器可能会通过内联对其进行优化……但您几乎可以肯定不必担心它。)

关于c# - 将参数直接传递给成员的构造函数语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21931012/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com