关键字

  • checked

  在进行算术运算时,可以使用checked关键字有效地处理溢出错误。如果不使用 checked 关键字,数值出现溢出时将不会出现任何异常信息,这时将会出现一件可怕的事情,程序中的数据已经不正确,但是还没有发现。

 Byte btOne, btTow;
            if (byte.TryParse(txtByte1.EditValue.ToString(), out btOne) && byte.TryParse(txtByte2.Text, out btTow))
            {
                try
                {
                    //checked { btOne += btTow; }
                    btOne += btTow;
                    txtByteOut.EditValue = btOne;
                }
                catch (OverflowException ex)
                {
                    MessageBox.Show(ex.Message, "错误");
                }
            }
            else
            {
                MessageBox.Show("请输入0-255的数字", "错误");
            }
OverflowException
  • typeof

  使用 typeof 关键字获取类的内部结构。typeof 关键字用于获取类型的 System.Type 对象。通过 System.Type 对象调用相应的方法,可以得到类型中定义的成员,我们所熟知的反射机制也使用了类似方式,使用反射机制首先是向应用域中加载程序集,然后得到 System.Type 对象,最后通过 System.Type 对象中的成员信息来执行相应操作。

1  Type type1 = typeof(System.Int16);
2  string str = string.Empty;
3  Type type2 = str.GetType();        
typeof用法
  •  using

  使用 using 关键字有效回收资源。在进行文件操作后要显示调用文件流的 Close 方法释放文件资源,在使用数据库连接时也要调用连接对象的 Close 方法释放数据库资源。如果忘记调用 Close 方法,有可能会导致程序执行异常,而且还会导致垃圾收集器多次回收对象,造成内存的浪费。

private void btnUsing_Click(object sender, EventArgs e)
        {
            using (new test()) using (new test1())
            {

            }
        }
        class test : IDisposable
        {
            public void Dispose()
            {
                MessageBox.Show("已执行 test 对象的 Dispose 方法!","提示");
            }
        }
        class test1 : IDisposable
        {
            public void Dispose()
            {
                MessageBox.Show("已执行 test1 对象的 Dispose 方法!", "提示");
            }
        }
using 用法

  代码中使用了 using 关键字,在其后的小括号中创建了一个 test 类型的对象,using 关键字要求小括号内产生的对象必须实现 IDisposable 接口或者其基类实现了 IDisposable 接口,如果没有实现此接口,那么在编译是会出现错误。在 using 关键字下面的代码块执行完毕后,会自动将 test 对象隐式转换为 IDisposable 接口类型,并调用接口方法 Dispose 释放对象资源。

  • is

  使用 is 关键字检查对象是否与给定类型兼容。在程序的开发过程中经常会使用类型转换,如果类型转换不成功则会出现异常,从抛出异常到捕获并处理异常,无形中增加了系统的开销,而且太过频繁的处理异常还会严重地影响系统等等稳定性。is 关键字可以有效地解决上面出现的问题。is 关键字检查对象是否与给定类型兼容,如果兼容则返回 true,如果不兼容则返回 false 。在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换。

 string str = "C#";
            object obj = str;
            if (obj is string)
            {
                MessageBox.Show("类型兼容!", "提示");
            }
is 用法
  • as

使用 as 关键字将对象转换为指定类型。与 is 关键字不同,is 关键字用于检查对象是否与给定类型兼容,而 as 关键字会直接进行类型转换,如果转换成功将会返回转换后的对象,如果转换不成功则不会抛出异常而是返回 NULL。

 

posted @ 2019-07-29 09:21  H滴水  阅读(378)  评论(0编辑  收藏  举报