C#的using语句

C#的using语句设计的蛮贴心,比java的import有趣一点。转一篇文章.

C#中的using除了作为命名空间指示符(using System),类型的别名指示符(using Dos=System.Console),还有资源管理的语句功能:
using (R r1 = new R ()) {
   r1.F();
}
在C#中被翻译为:

R r1 = new R();
try {
   r1.F();
}
finally {
   if (r1 != null) ((IDisposable)r1).Dispose();
}

r1当然要支持Dispose()方法了

再来一个例子:

# MyObject.cs

using  System;

 

namespace  MyProjects

{

     public   class  MyObject : IDisposable

    {

         public  MyObject()

        {

        }

 

         public   void  Dispose ( )

        {

             //  Dispose

            Console.WriteLine (  " Disposed "  ) ;

             //  

        }

    }

}

 

# Class1.cs

using  System;

 

namespace  MyProjects

{

      public   class  Class1

     {

          public  Class1()

         {

         }

 

          public   static   void  Main (  string [] args )

         {

               using  ( MyObject myObject  =   new  MyObject ( ) )

              {

                   Console.WriteLine (  " quit "  ) ;

              }

         }

     }

}

 

使用using会自动调用MyObject的Dispose方法. 

文章转自庄周梦蝶  ,原文发布时间5.17

时间: 2024-11-08 19:25:17

C#的using语句的相关文章

在ASP中使用SQL语句之9:表单操作

语句 从某个页面表单中取出信息是ASP编程中常见的问题.但是,遍历通过表单传递的记录会花去多长时间呢?这取决于数据库的大小.简单的GUI界面都可能令循环遍历操作耗费太多的时间. 比方说,假设有个团队成员登录到GUI屏幕输入自己的名字姓氏和名字之间用点号连接:amy.cowen.这个值通过表单提交,她的当前项目列表就从数据库中取了出来并显示在屏幕上.为了快速地取出用户的记录以便显示在屏幕上,你可以编写以下代码. 假设HTML页面上包含以下代码:<FORM ACTION="login_post

hql语句查询实体类News的属性category为“生活类新闻”的LIST,HQL语句怎么写?

问题描述 hql语句查询实体类News的属性category为"生活类新闻"的LIST,HQL语句怎么写? 用SSH框架,写一个实现类,查询实体类News的属性category为"生活类新闻"的LIST 返回一个LIST,该怎么写???????????????????? 实体类为News 属性为category 数据库中表名为t_news category为属性 import java.util.List; import org.springframework.st

mysql-求一个Mysql语句 查询出当前周的数据按照天分组

问题描述 求一个Mysql语句 查询出当前周的数据按照天分组 SELECT DATE_FORMAT(uploadTime_beg%Y-%m-%d"") as time SUM(field01) as sumStatus1 SUM(field02) as sumStatus2 SUM(field03) as sumStatus3 SUM(field04) as sumStatus4 SUM(field05) as sumStatus5 FROM health_realdata WHERE

手把手教你在ASP中使用SQL语句

sql|语句 五花八门的SQL产品多得要命,或许你早顾不得其它甩开袖子就动手干了.但你要同时采用ASP和SQL的话就可能会头晕.MySQL.SQL Server和mSQL都是绝佳的SQL工具,可惜,在ASP的环境下你却用不着它们来创建实用的SQL语句.不过,你可以利用自己掌握的Access知识以及相应的Access技能,再加上我们的提示和技巧,相信一定能成功地在你的ASP网页中加入SQL. 1. SELECT 语句 在SQL的世界里,最最基础的操作就是SELECT 语句了.在数据库工具下直接采用

ASP初学者:教你使用使用SQL语句

sql|初学|语句 五花八门的SQL产品多得要命,或许你早顾不得其它甩开袖子就动手干了.但你要同时采用ASP和SQL的话就可能会头晕.MySQL.SQL Server和mSQL都是绝佳的SQL工具,可惜,在ASP的环境下你却用不着它们来创建实用的SQL语句.不过,你可以利用自己掌握的Access知识以及相应的Access技能,再加上我们的提示和技巧,相信一定能成功地在你的ASP网页中加入SQL. 1. SELECT 语句 在SQL的世界里,最最基础的操作就是SELECT 语句了.在数据库工具下直

关于访问EXCEL时使用SQL语句的问题

问题描述 在访问EXCEL工作表的时候可以使用SQL语句如"select列名from表名"查询数据但是在EXCEL中他默认在第一行的数据作为列名我想把他改为其他行作为列名可以吗?怎样改呢? 解决方案 解决方案二:可以呀,直接写出列名不就好了!-解决方案三:我也想知道,正在找這方面的資料~~~~~解决方案四:接分先!

Sql语句,当在页面插入一个字段的时候,和数据库中的表字段进行对比,有这个名字就数量相加

问题描述 Sql语句,当在页面插入一个字段的时候,和数据库中的表字段进行对比,有这个名字就数量相加 Sql语句,当在页面插入一个字段的时候,和数据库中的表字段进行对比,有这个名字就数量相加,没有的话重新加入一条新的记录,Sql语句怎么实现? 当我页面添加的是"利群"时,添加一盒,那么数据库中利群这条记录中的num字段中的4变成5,如果是页面添加的是"黄鹤楼"同理,如果添加的不是name字段中的这两个,就新插入一条数据.Sql语句怎么写??急急急. 是Mysql的数据

代码-C++条件语句问题!!!!!

问题描述 C++条件语句问题!!!!! 我用两个if条件语句执行两种不同情况的代码,现在想在第一个if条件语句执行完后,判断是否满足一个条件,如果满足,就跳出,不再执行:但是第二个if条件语句正常执行 .我在中间加了if(....)break;的语句,结果第二部分的条件语句不再执行了,请问是为什么?该如何解决??请大家帮个忙! 解决方案 可以设置一个标志变量: int flag=0; if(条件1){ ...; flag=1;} if(条件2 && flag!=1) {...} 解决方案二

sql语句-mysql定时任务 写下SQL语句

问题描述 mysql定时任务 写下SQL语句 想让MYSQL里面的jpzh表里面的isstaus在晚上00定时更新 那个大侠 写下SQL语句 解决方案 CREATE EVENT e_testON SCHEDULE EVERY 1 DAYSTARTS '2014-12-04 00:00:00'DO UPDATE jpzh SET isstaus=.....; 从 2014-12-04 00:00:00 开始,每天做一次 解决方案二: 你的逻辑好像不太对,按常理开发模式,一般是从应用端控制时间,然后

LINQ to SQL语句(11)之Update

更新(Update) 说明:更新操作,先获取对象,进行修改操作之后,直接调 用SubmitChanges()方法即可提交.注意,这里是在同一个DataContext中,对于 不同的DataContex看下面的讲解. 1.简单形式Customer cust = db.Customers.First(c => c.CustomerID == "ALFKI"); cust.ContactTitle = "Vice President"; db.SubmitChang