- A+
所属分类:.NET技术
C#
本随笔为个人复习巩固知识用,多从书上总结与理解归纳得来,如有错误烦请指正
静态成员
在定义类的成员属性或方法时加上static,即表示它是一个静态成员,静态成员不能被类的对象引用,值被所有对象共享,不能在静态方法中调用非静态的属性或方法。单实例模式即只允许对象实例化一次的示范:
public class Singleton { private Singleton() { }//构造函数私有化 private static Singleton m_instance = null;//静态成员, public static Singleton Instance { get { if (m_instance == null)//确保只有一个实例 { m_instance = new Singleton(); } return m_instance; } } public void Init() { } } class Program { static void Main(string[] args) { //私有化了构造函数,该语句编译会出错 Singleton s = new Singleton(); Singleton.Instance.Init();//调用了Init前确保了Singleton的实例化 Console.ReadKey(); } }
异常处理
很多时候会出现一些异常,可以使用C#提供的异常处理来捕获并抛出异常,下面以a/b,b==0情况举例。
class Program { static float SafeDivision(float x, float y) { if (y == 0) { throw new System.DivideByZeroException(); } else { return x / y; } } static void Main(string[] args) { float a = 10; float b = 0; try//如果没有try,b==0会导致程序奔溃 { float c = SafeDivision(a, b);//b为0会抛出异常 } catch(System.DivideByZeroException e)//发现异常 { Console.WriteLine(e.Message);//输出异常信息 } finally { //无论是否抛出异常最终都会执行到这 } Console.ReadKey(); } }