2020-12-14

C#(九)基础篇—静态成员与异常处理

异常处理与静态成员

 

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();  } }

 









原文转载:http://www.shaoqun.com/a/499857.html

usps国际快递查询:https://www.ikjzd.com/w/513

巴克莱:https://www.ikjzd.com/w/2775

tenso:https://www.ikjzd.com/w/1552


异常处理与静态成员C#本随笔为个人复习巩固知识用,多从书上总结与理解归纳得来,如有错误烦请指正静态成员在定义类的成员属性或方法时加上static,即表示它是一个静态成员,静态成员不能被类的对象引用,值被所有对象共享,不能在静态方法中调用非静态的属性或方法。单实例模式即只允许对象实例化一次的示范:publicclassSingleton{privateSingleton(){}//构造函数私有化pr
启明星软件:启明星软件
一淘网比价平台:一淘网比价平台
【产品视频】亚马逊年终旺季之提升转化率利器:【产品视频】亚马逊年终旺季之提升转化率利器
损失惨重,亚马逊排名一落千丈,原因竟是德国罢工?:损失惨重,亚马逊排名一落千丈,原因竟是德国罢工?
四川眉山:多措并举保障疫情防控期间群众文化需求:四川眉山:多措并举保障疫情防控期间群众文化需求

No comments:

Post a Comment