`
devgis
  • 浏览: 134269 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

C#中using指令的几种用法

阅读更多

1.using指令。

using + 命名空间名字,这样可以在程序中直接用命令空间中的类型,而不必指定类型的详细命名空间,类似于Java的import,这个功能也是最常用的,几乎每个cs的程序都会用到。

例如:

  1. usingSystem;
  2. usingSystem.Data;

2.using别名。

using + 别名 = 包括详细命名空间信息的具体的类型。

这种做法有个好处就是当同一个cs引用了两个不同的命名空间,但两个命名空间都包括了一个相同名字的类型的时候。当需要用到这个类型的时候,就每个地方都要用详细命名空间的办法来区分这些相同名字的类型。而用别名的方法会更简洁,用到哪个类就给哪个类做别名声明就可以了。

注意:并不是说两个名字重复,给其中一个用了别名,另外一个就不需要用别名了,如果两个都要使用,则两个都需要用using来定义别名的。

例如:

  1. usingSystem;
  2. usingSystem.Collections.Generic;
  3. usingSystem.Linq;
  4. usingSystem.Text;
  5. usingaClass=ConsoleApplication1.MyClass;
  6. usingbClass=ConsoleApplication2.MyClass;
  7. namespaceConsoleApplication1
  8. {
  9. public
  10. classMyClass
  11. {
  12. public
  13. override
  14. stringToString()
  15. {
  16. return"YouareinConsoleApplication1.MyClass";
  17. }
  18. }
  19. classTestUsing
  20. {
  21. }
  22. }
  23. namespaceConsoleApplication2
  24. {
  25. classMyClass
  26. {
  27. public
  28. override
  29. stringToString()
  30. {
  31. return"YouareinConsoleApplication2.MyClass";
  32. }
  33. }
  34. }
  35. namespaceTestUsing
  36. {
  37. usingConsoleApplication1;
  38. usingConsoleApplication2;
  39. classClassTestUsing
  40. {
  41. static
  42. voidMain()
  43. {
  44. aClassmy1=newaClass();
  45. Console.WriteLine(my1);
  46. bClassmy2=newbClass();
  47. Console.WriteLine(my2);
  48. Console.WriteLine("ressanykey");
  49. Console.Read();
  50. }
  51. }
  52. }

3.using语句,定义一个范围,在范围结束时处理对象。

场景:

当在某个代码段中使用了类的实例,而希望无论因为什么原因,只要离开了这个代码段就自动调用这个类实例的Dispose。

要达到这样的目的,用try...catch来捕捉异常也是可以的,但用using也很方便。

  1. public
  2. staticDataTableGetTable(stringsql,intexecuteTimeOut,stringconnStringName)
  3. {
  4. DataTabledtRet=newDataTable();
  5. using(SqlConnectionsc=newSqlConnection(connStringName))
  6. {
  7. using(SqlDataAdaptersqa=newSqlDataAdapter(sql,sc))
  8. {
  9. sqa.SelectCommand.CommandTimeout=executeTimeOut;
  10. sqa.Fill(dtRet);
  11. returndtRet;
  12. }
  13. }
  14. }
分享到:
评论

相关推荐

    c#学习笔记.txt

    若要在一个用 @ 引起来的字符串中包括一个双引号,请使用两对双引号:@ 符号的另一种用法是使用碰巧成为 C# 关键字的被引用的 (/reference) 标识符。 8, 修饰符 修饰符作用 访问修饰符 public private internal ...

    C#微软培训资料

    11.2 方法中的参数.125 11.3 静态和非静态的方法.129 11.4 方法的重载.130 11.5 操作符重载.134 11.6 小 结.137 第十二章 域 和 属 性 .139 12.1 域 .139 12.2 属 性 .143 12.3 小 结 .146 第十三...

    C#中增强类功能的几种方式详解

    仅当使用 using 指令将命名空间显式导入到源代码中之后,扩展方法才可使用。 namespace Extensions { public static class StringExtension { public static DateTime ToDateTime(this string source) { ...

    C#编程经验技巧宝典

    24 <br>0050 using关键字的用法 24 <br>0051 变量的作用域 25 <br>2.5 其他 26 <br>0052 有效使用this对象 26 <br>0053 如何声明变量 26 <br>0054 如何声明相同类型的多个变量 26 ...

    asp.net知识库

    在ASP.Net中两种利用CSS实现多界面的方法 如何在客户端调用服务端代码 页面一postback,它就显示页面的最顶端,怎样让它定位在某一位置? 如何保证页面刷新后的滚动条位置 清除网页历史记录,屏蔽后退按钮! 如何传值...

    net学习笔记及其他代码应用

    6.如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session、Cookie、Application,您有几种方法进行处理? 答 : this.Server.Transfer 7.请编程遍历页面上所有TextBox控件并给它赋值为string.Empty? ...

    ASP.NET的网页代码模型及生命周期

    语言为.NET网站中使用的语言,如果选择Visual C#,则默认的开发语言为C#,否则为Visual Basic。创建了ASP.NET网站后,系统会自动创建一个代码隐藏页模型页面Default.aspx。ASP.NET网页一般由三部分组成,这三个部分...

    亮剑.NET深入体验与实战精要2

    本书既考虑到实际开发中经常遇到的困惑和难题,也分析了解决问题的思路和方法,更总结出项目开发中不可或缺的技术点及思想。读者可以在欣赏一个个有趣例子的过程中,不知不觉具备开发真正商业项目的能力。 本书集...

    亮剑.NET深入体验与实战精要3

    本书既考虑到实际开发中经常遇到的困惑和难题,也分析了解决问题的思路和方法,更总结出项目开发中不可或缺的技术点及思想。读者可以在欣赏一个个有趣例子的过程中,不知不觉具备开发真正商业项目的能力。 本书集...

Global site tag (gtag.js) - Google Analytics