当前位置: 首页 > 编程语言 > C#

C#原始类型还是复杂类型作为方法签名?分享

时间:2023-04-11 02:07:10 C#

C#原始类型或复杂类型作为方法签名?使用Primitve类型或复杂类型的优缺点是什么?什么时候应该使用原始类型和复杂类型,反之亦然?即:publicclassPerson{publicstringFirstName{get;放;}publicstringLastName{get;放;}publicintAge{得到;放;}publicintIQ{得到;放;}}publicvoidFooPrimitiveTypes(stringfirstName,stringlastName,intage,intIQ){}publicvoidFooComplexTypes(Personperson){}通常在处理不相交的值时使用单独传递每个属性。此外,有时在构造函数中使用。不好的做法。当值相关时,首选这种方法。为什么#1是一个不好的做法-假设你需要增加高度。我宁愿通过添加另一个属性而不是50个方法来更新类。Foo在概念上与人打交道吗?Foo是否使用了所有(或至少大多数)人,或者它只是使用了一些恰好是人的信息?Foo有可能处理非人类的事情吗?如果Foo是InsertPersonIntoDB(),那么最好处理Person。如果Foo是PrintName(),那么PrintName(StringFirstName,StringLastName)可能更合适(或者,您可以定义一个Name类,并说一个Person有一个名字)。如果您发现自己创建了半初始化的临时Person对象只是为了传递给Foo,那么您可能想要分解出参数。需要注意的是,当你使用原语时,它们是按值传递的……对象引用也是按值传递的,但是由于所有对值的底层引用都是引用,所以它实际上是按引用传递的。因此,根据您的操作,这种按值传递或按引用传递可能很重要。同样在第一种情况下,对原语的修改不会影响调用范围内变量的值,但修改传入对象会影响调用范围内的对象。以上就是C#学习教程:C#原始类型还是复杂类型作为方法签名?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: