广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > C# > 正文

20个C#编码的好习惯_惠州C#培训

作者:邓华发布时间:2020-11-17分类:C#浏览:1081


导读:C#作为一门编程语言,在目前来说还是比较热门的,下面来分享20个C#编码的好习惯。

C#作为一门编程语言,在目前来说还是比较热门的,下面来分享20个C#编码的好习惯。


C#.png

图片来源于网络



1.  当需要定义自定义的异常时:

a)  自定义异常要继承于applicationException。

b)  提供自定义的序列化功能。


2.  避免在单个程序集里使用多个Main方法。


3.  只对外公布必要的操作,其他的则为internal。


4.  Avoid friend assemblies, as it increases inter-assembly coupling.


5.  Avoid code that relies on an assembly running from a particular location.


6.  使应用程序集尽量为最小化代码(EXE客户程序)。使用类库来替换包含的商务逻辑。


7.  避免给枚举变量提供显式的值。

//正确方法 

public enum Color

{   

   Red,Green,Blue

}

//避免

public enum Color

{   

   Red = 1,Green =  2,Blue = 3

}


8.  避免指定特殊类型的枚举变量。

//避免 

public enum Color  : long

{   

   Red,Green,Blue

}


9.  即使if语句只有一句,也要将if语句的内容用大括号扩起来。


10.  避免使用trinary条件操作符。


11.  避免在条件语句中调用返回bool值的函数。可以使用局部变量并检查这些局部变量。

bool IsEverythingOK()

{…}

//避免

if (IsEverythingOK ())

{…}

//替换方案 

bool ok = IsEverythingOK();

if (ok)

{…}


12.  总是使用基于0开始的数组。


13.  在循环中总是显式的初始化引用类型的数组。

public class MyClass

{}

MyClass[] array = new  MyClass[100];

for(int index = 0; index < array.Length;  index++)

{

   array[index] = new  MyClass();

}


14.  不要提供public 和 PRotected的成员变量,使用属性代替他们。


15.  避免在继承中使用new而使用override替换。


16.  在不是sealed的类中总是将public 和 protected的方法标记成virtual的。


17.  除非使用interop(COM+ 或其他的dll)代码否则不要使用不安全的代码(unsafe code)。


18.  避免显示的转换,使用as操作符进行兼容类型的转换。

Dog dog = new GermanShepherd();

GermanShepherd shepherd = dog  as  GermanShepherd;

if (shepherd != null )

{…}


19.  当类成员包括委托的时候

a)  Copy a delegate to a local variable before publishing to avoid concurrency race

condition. 

b)  在调用委托之前一定要检查它是否为null

public class MySource

{

   public event EventHandler  MyEvent;

   public void FireEvent()

   {

      EventHandler temp = MyEvent;

      if(temp != null )

      {

         temp(this,EventArgs.Empty);

      }

   }

}  


20.  不要提供公共的事件成员变量,使用事件访问器替换这些变量。

public class MySource

{

   MyDelegate m_SomeEvent ;

   public event MyDelegate SomeEvent

   {

      add

      {

         m_SomeEvent += value;

      }

      remove

      {

         m_SomeEvent -= value;

      }

   }

}


想学C#吗?来惠州北大青鸟暨华学校。

标签:惠州北大青鸟北大青鸟惠州C#培训C#培训惠州C#惠州IT培训


C#排行
标签列表
网站分类
文章归档
最近发表