编程语言
首页 > 编程语言> > c#-传递引用参数与包装类型的详细列表

c#-传递引用参数与包装类型的详细列表

作者:互联网

我需要从一个函数中获取三个对象,我的本能是创建一个新类型来返回三个引用.或者如果ref是相同的类型,我可以使用数组.但是,通过引用比较容易:


        private void Mutate_AddNode_GetGenes(ref NeuronGene newNeuronGene, ref ConnectionGene newConnectionGene1, ref ConnectionGene newConnectionGene2)
        {

        }

显然这没有什么错,但是我不愿使用这种方法,主要是出于美学和心理偏见的考虑.实际上,是否有充分的理由使用其中一种方法来替代其他方法?创建额外的包装对象或将参数压入堆栈可能会导致性能问题.请注意,在我的特殊情况下,这是CPU密集型代码. CPU周期很重要.

C#3方法中是否有更优雅的C#2?

谢谢.

解决方法:

对于几乎所有计算问题,您都不会注意到CPU的差异.由于示例代码中包含“ Gene”一词,因此您实际上可能会属于罕见的代码类别.

仅为了包装其他对象而创建和销毁对象会花费一些性能(毕竟需要创建它们并收集垃圾).

从美学上讲,我不会创建一个对象只是为了对不相关的对象进行分组,但是如果它们在逻辑上属于同一对象,则最好定义一个包含对象.

标签:pass-by-reference,c,net
来源: https://codeday.me/bug/20191024/1920453.html