1.using指令。using + 命名空间名字,这样可以在程序中直接用命令空间中的类型,而不必指定类型的详细命名空间,类似于Java的import,这个功能也是最常用的,几乎每个cs的程序都会用到。
例如:using System;
using System.Data;
2.using语句,定义一个范围,在范围结束时处理对象。
场景:
当在某个代码段中使用了类的实例,而希望无论因为什么原因,只要离开了这个代码段就自动调用这个类实例的Dispose。
要达到这样的目的,用try...catch来捕捉异常也是可以的,但用using也很方便
比如,
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using aClass = ConsoleApplication1.MyClass;
using bClass = ConsoleApplication2.MyClass;
namespace ConsoleApplication1
{
public
class MyClass
{
public
override
string ToString()
{
return "You are in ConsoleApplication1.MyClass";
}
}
class TestUsing
{
}
}
namespace ConsoleApplication2
{
class MyClass
{
public
override
string ToString()
{
return "You are in ConsoleApplication2.MyClass";
}
}
}
namespace TestUsing
{
using ConsoleApplication1;
using ConsoleApplication2;
class ClassTestUsing
{
static
void Main()
{
aClass my1 = new aClass();
Console.WriteLine(my1);
bClass my2 = new bClass();
Console.WriteLine(my2);
Console.WriteLine("ress any key");
Console.Read();
}
}
}
using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)){
dt.Load(sdr); //此处用到sdr对象
} //此处释放sdr对象,并关闭connection对象连接
如
public
static DataTable GetTable(string sql, int executeTimeOut, string connStringName)
{
DataTable dtRet = new DataTable();
using (SqlConnection sc = new SqlConnection(connStringName))
{
using (SqlDataAdapter sqa = new SqlDataAdapter(sql, sc))
{
sqa.SelectCommand.CommandTimeout = executeTimeOut;
sqa.Fill(dtRet);
return dtRet;
}
}
}
在这段代码中,sdr对象包含在小括号中,说明当using下的这段代码不管是执行成功或失败,只要离开了这段代码,会自动调用sdr对象的Dispose方法。CommandBehavior.CloseConnection的作用是当command对象释放时,connection也跟着关闭。它跟下面这段代码效果是一致的:
Try
conn.Open()
Return cmd.ExecuteNonQuery()
cmd.Parameters.Clear()
Catch ex As Exception
Return False
Finally
'关闭数据库教程连接,销毁cmd对象
If Not IsNothing(conn) Then
conn.Close()
conn = Nothing
End If
If Not IsNothing(cmd) Then
cmd.Dispose()
cmd = Nothing
End If
End Try
创造与魔法 安卓版v1.0.0750
创造与魔法是一款开放世界手游,在游戏中玩家可探索这个奇妙的世
创造与魔法修改版 最新版v1.0.0750
创造与魔法无限点券版是款探索冒险游戏,该款游戏的操作还是蛮自
战争与文明官方版本 安卓版v1.7.16
战争与文明是一款由上海邮通科技有限公司开发的战争策略游戏,这
迷你世界0元领皮肤无限迷你币版 最新安卓版v1.43.0
迷你世界0元购买皮肤版是这款开放沙盒冒险建造游戏的特殊破解版
创造与魔法无限经验版 安卓版v1.0.0750
创造与魔法无限经验版是款可以改造环境,整个游戏的自由度还是蛮