Csharp/C#教程:C#程序员最易犯的编程错误分享

本文介绍了10种最常见的编程错误,或是C#程序员要避免的陷阱。

常见错误1:像使用值一样使用参考或过来用
C++以及许多其他语言的程序员习惯于控制他们分配给变量的值是否为简易的值或现有对象的引用。在C#中呢,这将由写该对象的程序员决定,而不是由实例化该对象并对它进行变量赋值的程序员决定。这是新手C#程序员们的共同“问题”。
如果你不知道你正在使用的对象是否是值类型或引用类型,你可能会遇到一些惊喜。例如:

Pointpoint1=newPoint(20,30); Pointpoint2=point1; point2.X=50; Console.WriteLine(point1.X);//20(doesthissurpriseyou?) Console.WriteLine(point2.X);//50 Penpen1=newPen(Color.Black); Penpen2=pen1; pen2.Color=Color.Blue; Console.WriteLine(pen1.Color);//Blue(ordoesthissurpriseyou?) Console.WriteLine(pen2.Color);//Blue

如你所见,尽管Point和Pen对象的创建方式相同,但是当一个新的X的坐标值被分配到point2时,point1的值保持不变。而当一个新的color值被分配到pen2,pen1也随之改变。因此,我们可以推断point1和point2每个都包含自己的Point对象的副本,而pen1和pen2引用了同一个Pen对象。如果没有这个测试,我们怎么能够知道这个原理?
一种办法是去看一下对象是如何定义的(在VisualStudio中,你可以把光标放在对象的免费精选名字大全上,并按下F12键)

publicstructPoint{…}//definesa“value”type publicclassPen{…}//definesa“reference”type

  如上所示,在C#中,struct关键字是用来定义一个值类型,而class关键字是用来定义引用类型的。对于那些有C++编程背景人来说,如果被C++和C#之间某些类似的关键字搞混,可能会对上述就是C#学习教程:C#程序员最易犯的编程错误分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/906888.html

(0)
上一篇 2021年10月24日
下一篇 2021年10月24日

精彩推荐