Asp.net源码交流论坛 Asp.net交流讨论区Asp.net技术文章using 的三种用法

1  /  2  页    1  2  跳转
发表新主题 回复该主题

标题: using 的三种用法

身份:部门主管

 
  • UID:9044
  • 来自:河北省
  • 精华:0
  • 积分:238
  • 帖子:216
  • 注册: 2008-03-07
  • 状态: 离线
  • 威望:25.00
  • 金钱:23.85 元

using 的三种用法

1.using指令。using + 命名空间名字,这样可以在程序中直接用命令空间中的类型,而不必指定类型的详细命名空间,类似于Java的import,这个功能也是最常用的,几乎每个cs的程序都会用到。
例如:using System;
    using System.Data;
2.using别名。using + 别名 = 包括详细命名空间信息的具体的类型。
这种做法有个好处就是当同一个cs引用了两个不同的命名空间,但两个命名空间都包括了一个相同名字的类型的时候。当需要用到这个类型的时候,就每个地方都要用详细命名空间的办法来区分这些相同名字的类型。而用别名的方法会更简洁,用到哪个类就给哪个类做别名声明就可以了。注意:并不是说两个名字重复,给其中一个用了别名,另外一个就不需要用别名了,如果两个都要使用,则两个都需要用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();
        }
    }
}


3.using语句,定义一个范围,在范围结束时处理对象。
场景:
当在某个代码段中使用了类的实例,而希望无论因为什么原因,只要离开了这个代码段就自动调用这个类实例的Dispose。
要达到这样的目的,用try...catch来捕捉异常也是可以的,但用using也很方便。
例如:


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


51aspx 最后编辑于 2008-05-07 10:57:06
引用 回复
 

身份:部门主管

 
  • UID:1554
  • 来自:北京
  • 精华:6
  • 积分:422
  • 帖子:283
  • 注册: 2007-12-04
  • 状态: 离线
  • 威望:109.00
  • 金钱:53.35 元
 
源码发布专家

回复:using 的三种用法

什么东西?
 
从此我不再仰脸看青天,不再低头看白水,只谨慎着我双双的脚步,我要一不一不踏在泥土上,打上深深的脚印!
引用 回复
 

身份:学员

 
  • UID:1405
  • 来自:
  • 精华:0
  • 积分:22
  • 帖子:22
  • 注册: 2007-12-01
  • 状态: 离线
  • 威望:0.00
  • 金钱:3.40 元

回复:using 的三种用法

using别名  学到啦
引用 回复
 

身份:程序员

 
  • UID:5501
  • 来自:湖南长沙
  • 精华:0
  • 积分:75
  • 帖子:55
  • 注册: 2008-01-17
  • 状态: 离线
  • 威望:20.00
  • 金钱:10.75 元

回复:using 的三种用法

嗯..不错..比较常见..!!
引用 回复
 

身份:学员

 
  • UID:11128
  • 来自:
  • 精华:0
  • 积分:10
  • 帖子:10
  • 注册: 2008-03-26
  • 状态: 离线
  • 威望:0.00
  • 金钱:1.15 元

回复:using 的三种用法

吼吼~~!
 
全世界的女人都选我,你不选我,我一样落选~~!
引用 回复
 

身份:工程师

 
  • UID:11087
  • 来自:内蒙古
  • 精华:0
  • 积分:129
  • 帖子:119
  • 注册: 2008-03-25
  • 状态: 离线
  • 威望:10.00
  • 金钱:12.35 元

回复:using 的三种用法

很不错
学习了
引用 回复
 

身份:程序员

 
  • UID:10329
  • 来自:
  • 精华:0
  • 积分:64
  • 帖子:63
  • 注册: 2008-03-19
  • 状态: 离线
  • 威望:0.00
  • 金钱:7.60 元

回复:using 的三种用法

不错
知道了using别名和using语句
两中using的新用法
引用 回复
 

身份:学员

 
  • UID:5198
  • 来自:
  • 精华:0
  • 积分:11
  • 帖子:11
  • 注册: 2008-01-13
  • 状态: 离线
  • 威望:0.00
  • 金钱:1.10 元

回复:using 的三种用法

学了2,3两种,不臭
引用 回复
 

身份:学员

 
  • UID:16602
  • 来自:广西南宁
  • 精华:0
  • 积分:41
  • 帖子:42
  • 注册: 2008-05-07
  • 状态: 离线
  • 威望:0.00
  • 金钱:4.35 元

回复:using 的三种用法

很好~!学习中。。。
引用 回复
 

身份:学员

 
  • UID:18886
  • 来自:
  • 精华:0
  • 积分:1
  • 帖子:1
  • 注册: 2008-05-22
  • 状态: 离线
  • 威望:0.00
  • 金钱:0.10 元

回复:using 的三种用法

不错,谢谢LZ~~~~
引用 回复
 
1  /  2  页    1  2  跳转
发表新主题 回复该主题

现在时间是:2009-01-08 07:11:34 京ICP备06046876号