zoukankan      html  css  js  c++  java
  • 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();
    
    
            }
        }

  • 相关阅读:
    win7下如何配置ODBC数据源
    串口小票打印机调试命令
    如何测试一个网页登陆界面
    Cookie是否是httponly
    XSS攻击 (安全方面)和传统防御技术
    Linux下查看文件和文件夹大小
    linux停止和查看启动服务的命令使用方法
    查看Linux下系统资源占用常用命令(top、free、uptime)
    三种经典iPhone上网络抓包方法详解
    如何用Fiddler对Android应用进行抓包
  • 原文地址:https://www.cnblogs.com/zzuadj/p/14110718.html
Copyright © 2011-2022 走看看