1、using指令。using + 命名空间名字,这样可以在程序中直接用命令空间中的类型,而不必指定类型的详细命名空间,类似于Java的import、C++的<#Include>,这个功能也是最常用的,几乎每个cs的程序都会用到。 
例如:using System; 一般都会出现在*.cs中。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Web.Configuration;

View Code

2、using别名。using + 别名 = 包括详细命名空间信息的具体的类型。 
这种做法有个好处就是当同一个cs引用了两个不同的命名空间,但两个命名空间都包括了一个相同名字的类型的时候。当需要用到这个类型的时候,就每个地方都要用详细命名空间的办法来区分这些相同名字的类型。而用别名的方法会更简洁,用到哪个类就给哪个类做别名声明就可以了。注意:并不是说两个名字重复,给其中一个用了别名,另外一个就不需要用别名了,如果两个都要使用,则两个都需要用using来定义别名的。

using aClass = NameSpace1.MyClass;
using bClass = NameSpace2.MyClass;

View Code

3、using和SqlConnection、SqlCommand、SqlDataAdapter

用法:将功能代码单独包装起来,结束时自动释放托管的资源

版本1,未使用using:

/// <summary>/// 返回数据集dt/// </summary>/// <param name="database"></param>/// <param name="cmdType"></param>/// <param name="sql"></param>/// <param name="pars"></param>/// <returns></returns>private static DataTable GetDataTable(String database, CommandType cmdType, String sql, SqlParameter[] pars){if (String.IsNullOrEmpty(database)){ throw new Exception("未设置参数:database"); }else if (String.IsNullOrEmpty(sql)){ throw new Exception("未找到sql语句"); }try{SqlConnection conn = GetConnection(database);conn.Open();SqlCommand cmd = GetCommand(conn, null, cmdType, sql, pars);SqlDataAdapter myda = new SqlDataAdapter(cmd);DataTable dt = new DataTable();myda.Fill(dt);myda.Dispose();cmd.Dispose();conn.Close();return dt;}catch (SqlException sqlex){System.Text.StringBuilder log = new StringBuilder();log.Append("查询数据出错:");log.Append(sqlex.Message);throw new Exception(log.ToString());}}

View Code

版本2,使用using:

/// <summary>/// 返回数据集dt/// </summary>/// <param name="database"></param>/// <param name="cmdType"></param>/// <param name="sql"></param>/// <param name="pars"></param>/// <returns></returns>private static DataTable GetDataTable(String database, CommandType cmdType, String sql, SqlParameter[] pars){if (String.IsNullOrEmpty(database)){ throw new Exception("未设置参数:database"); }else if (String.IsNullOrEmpty(sql)){ throw new Exception("未找到sql语句");}try{using(SqlConnection conn = GetConnection(database)){conn.Open();using(SqlCommand cmd = GetCommand(conn,null,cmdType,sql,pars)){using(SqlDataAdapter da = new SqlDataAdapter(cmd)){DataTable dt = new DataTable();da.Fill(dt);return dt;}}}}catch (SqlException sqlex){System.Text.StringBuilder log = new StringBuilder();log.Append("查询数据出错:");log.Append(sqlex.Message);throw new Exception(log.ToString());}}

View Code

using相当于语句块:

SqlConnection conn = null;try{conn = new SqlConnection();} catch{} finally{if (conn != null){conn.Dispose(); };SqlCommand cmd = null;try{cmd = new SqlCommand();} catch{} finally{if(cmd != null) { cmd.Dispose(); };SqlDataAdapter myda = null;try{myda = new SqlDataAdapter();} catch{} finally{if (myda != null){myda.Dispose(); };

View Code

转载于:https://www.cnblogs.com/su1643/p/6655904.html

using的基本用法相关推荐

  1. c语言中external,static关键字用法

    static用法: 在C中,static主要定义全局静态变量.定义局部静态变量.定义静态函数. 1.定义全局静态变量:在全局变量前面加上关键字static,该全局变量变成了全局静态变量.全局静态变量有 ...

  2. Pandas_transform的用法

    先来看一个实例问题. 如下销售数据中展现了三笔订单,每笔订单买了多种商品,求每种商品销售额占该笔订单总金额的比例.例如第一条数据的最终结果为:235.83 / (235.83+232.32+107.9 ...

  3. Python中yield和yield from的用法

    yield 后面接的是 future 对象 调用方 委托生成器 yield from 直接给出循环后的结果 yield from 委托者和子生成器直接通信 yield from 直接处理stopIte ...

  4. pytorch学习 中 torch.squeeze() 和torch.unsqueeze()的用法

    squeeze的用法主要就是对数据的维度进行压缩或者解压. 先看torch.squeeze() 这个函数主要对数据的维度进行压缩,去掉维数为1的的维度,比如是一行或者一列这种,一个一行三列(1,3)的 ...

  5. python yield 和 yield from用法总结

    #例1. 简单输出斐波那契數列前 N 个数 #缺点:该函数可复用性较差,因为 fab 函数返回 None,其他函数无法获得该函数生成的数列 #要提高 fab 函数的可复用性,最好不要直接打印出数列,而 ...

  6. tf.nn.embedding_lookup()的用法

    函数: tf.nn.embedding_lookup( params, ids, partition_strategy='mod', name=None, validate_indices=True, ...

  7. OpenMP用法大全

    OpenMP基本概念 OpenMP是一种用于共享内存并行系统的多线程程序设计方案,支持的编程语言包括C.C++和Fortran.OpenMP提供了对并行算法的高层抽象描述,特别适合在多核CPU机器上的 ...

  8. Dorado用法与示例

    Dorado用法与示例 dorado用后总结 一.dorado概念 dorado的产品全名是"dorado展现中间件".从产品形态上dorado由两部分组成,第一部分是一个具有AJ ...

  9. TensorFlow用法

    TensorFlow用法 什么是TensorFlow TensorFlow是一个开源软件库,用于使用数据流图进行数值计算.图中的节点表示数学运算,而图的边缘表示流动的多维数据数组(张量).这种灵活的体 ...

  10. TensorFlow Keras API用法

    TensorFlow Keras API用法 Keras 是与 TensorFlow 一起使用的更高级别的作为后端的 API.添加层就像添加一行代码一样简单.在模型架构之后,使用一行代码,可以编译和拟 ...

最新文章

  1. 自监督3D手部姿态估计方法
  2. 一文概览 CVPR2021 最新18篇 Oral 论文
  3. [Google API](1)简介
  4. 中国大陆穷光蛋排行榜---转
  5. 【计算机网络】——流量控制与可靠传输机制
  6. .net 实现微信公众平台的用户信息获取
  7. 简要分析unity3d中剪不断理还乱的yield
  8. 蓝桥杯 ALGO-28 算法训练 星际交流
  9. BZOJ 3555 [CTSC2014] 企鹅QQ Hash
  10. 42表盘直径是从哪测量_爱彼15703和15710区别在哪?背透和密底哪个更好?
  11. 基于MATLAB 关于圆的研究
  12. eclipse 配置maven tomcat 环境
  13. sqlmap入门使用教程
  14. 如何在Linux Shell脚本中添加GUI
  15. python ipad协议_python – 实现AirDrop协议
  16. unrecognized selector sent to instance 0x7fbb51c7c490问题解决方法之一
  17. java对pdf分割_Java如何使用Java将PDF分割成多个文档?
  18. 产品经理必读的十本好书
  19. python多线程批量过滤文件关键字
  20. Ubtun16.04 配置baxter机器人

热门文章

  1. axios请求拦截器错误_React中使用高阶组件和axios的拦截器,统一处理请求失败提示...
  2. 安卓手机管理软件_日程管理软件哪个好?
  3. redis desktop manager 集群_Redis Manager(2.0) —— Redis 运维利器
  4. php query builder,php – Symfony2 – Doctrine2 QueryBuilder WHERE I...
  5. php 中文名称排序 源码,四种排序算法PHP实现类
  6. java 置位_java安全编码指南之:Mutability可变性详解
  7. lenovo电脑_办公笔记本电脑有哪些值得推荐?
  8. Git——比较版本区别【git status / git diff】
  9. Windows下VB6.0开发——VB程序断点调试与顺序执行不一致问题(通信原因)
  10. 基于Hadoop集群的Spark集群搭建