Using的几种用法

简介:

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

namespace NameSpace1 
{
    public class MyClass 
    {
        public override string ToString() 
        {
            return "You are in NameSpace1.MyClass";
        }
    }
}
namespace NameSpace2 
{
    class MyClass 
    {
        public override string ToString() 
        {
            return "You are in NameSpace2.MyClass";
        }
    }
}
namespace testUsing
{
    using NameSpace1;
    using NameSpace2;
    /// <summary>
    /// Class1 的摘要说明。
    /// </summary>
    class Class1
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main(string[] args)
        {
            //
            // TODO: 在此处添加代码以启动应用程序
            //
            
            aClass my1 = new aClass();            
            Console.WriteLine(my1);
            bClass my2 = new bClass();
            Console.WriteLine(my2);
            Console.WriteLine("Press any key");
            Console.Read();
        }
    }
}
3.using语句,定义一个范围,在范围结束时处理对象。
场景:
当在某个代码段中使用了类的实例,而希望无论因为什么原因,只要离开了这个代码段就自动调用这个类实例的Dispose。
要达到这样的目的,用try...catch来捕捉异常也是可以的,但用using也很方便。
例如:
using (Class1 cls1 = new Class1(), cls2 = new Class1())
{
  // the code using cls1, cls2

} // call the Dispose on cls1 and cls2

本文转自kenty博客园博客,原文链接http://www.cnblogs.com/kentyshang/archive/2006/09/26/514929.html如需转载请自行联系原作者


kenty

相关文章
|
监控
云监控
云监控
299 1
|
机器学习/深度学习 存储 数据采集
阿里云 ACP是什么?阿里云 ACP有什么用?
ACP是什么,它是阿里云企业推出的针对于数据分析工程师的资格认证,有极高的含金量。因为阿里云在国内市场处于领先地位,他们推出的资格认证自然而然受到很多人的欢迎,很多互联网行业从业人员都以获得阿里ACP认证为荣。那么,阿里云 ACP是什么?阿里云 ACP有什么用?在认证大使官网上查阅了相关资料,我得到了答案
2965 0
阿里云 ACP是什么?阿里云 ACP有什么用?
|
10月前
|
人工智能 自然语言处理 计算机视觉
StyleStudio:支持图像风格迁移的文生图模型,能将融合参考图像的风格和文本提示内容生成风格一致的图像
StyleStudio 是一种文本驱动的风格迁移模型,能够将参考图像的风格与文本提示内容融合。通过跨模态 AdaIN 机制、基于风格的分类器自由引导等技术,解决了风格过拟合、控制限制和文本错位等问题,提升了风格迁移的质量和文本对齐的准确性。
373 8
StyleStudio:支持图像风格迁移的文生图模型,能将融合参考图像的风格和文本提示内容生成风格一致的图像
|
10月前
|
机器学习/深度学习 人工智能 安全
合合信息亮相CSIG AI可信论坛,全面拆解视觉内容安全的“终极防线”!
合合信息在CSIG AI可信论坛上,全面拆解了视觉内容安全的“终极防线”。面对AI伪造泛滥的问题,如Deepfake换脸、PS篡改等,合合信息展示了其前沿技术,包括通用PS检测系统和AIGC与换脸检测系统,有效应对视觉内容安全挑战。公司在国际赛事中屡获殊荣,并联合多方发布《文本图像篡改检测系统技术要求》,推动行业标准化发展。通过技术创新,合合信息为金融、政企等领域提供可靠保障,守护社会信任,引领视觉内容安全新方向。
259 0
|
11月前
|
安全 Linux 数据安全/隐私保护
深入探索Linux操作系统的多用户管理机制
【10月更文挑战第21天】 本文将详细解析Linux操作系统中的多用户管理机制,包括用户账户的创建与管理、权限控制以及用户组的概念和应用。通过具体实例和命令操作,帮助读者理解并掌握Linux在多用户环境下如何实现有效的资源分配和安全管理。
|
算法 安全 区块链
Solidity语言智能合约实现nft数字藏品交易平台开发
1、首先,我们需要在Solidity中定义数字藏品的结构和价值。这可以通过使用Solidity语言的智能合约来实现。例如,我们可以定义一个名为“NFT”的数字资产类型,并为其定义一个名为“Crypto.NFT”的智能合约。在这个合约中,我们可以定义数字藏品的标识符、版权信息、创建时间、发布时间、描述、价值等属性。
|
C++ Windows
Qt configure脚本说明
configure脚本功能非常强大,可以通过它对qt进行配置裁剪, 为了编译更快一点可以使用下面参数: -fast 快速配置 -nomake 可以不编译不需要的文件夹,根目录下面的目录都可以过滤 比如 -nomake examples -nomake demos  -nomake tools 等等 另外就是一些不需要的模块也可以通过配置脚本来启用或者禁用,除了一些必须的模块像gui,corelib等,都是根据配置环境监测的,如果检测到不能编译,那么就自动禁用,否则就启用。
1843 0
|
存储 缓存 流计算
Flink应用案例统计实现TopN的两种方式
在窗口中可以用一个 HashMap 来保存每个 url 的访问次数,只要遍历窗口中的所有数据,自然就能得到所有 url 的热门度。最后把 HashMap 转成一个列表 ArrayList,然后进行排序、取出前两名输出就可以了。
808 0
Flink应用案例统计实现TopN的两种方式
|
人工智能 IDE 算法
基于arduino的语音识别垃圾分类
这是好多年前自己的一份毕业设计,分享一下小成果-大佬勿喷! 本设计结合社会垃圾分类知识,经过实际的需求分析,采用Arduino单片机技术以及LD3320非特定语音识别分析技术开发出的智能语音识别垃圾分类系统,实现了唤醒命令激活、实时的语音交互和自动感应打开桶盖的功能,达到了自动分类垃圾的目的。 本文详细论述了智能语音垃圾分类系统的
基于arduino的语音识别垃圾分类
|
人工智能 物联网 大数据
考阿里云需要什么条件?考试难度大不大?
根据自家产品的特性和IT行业从业人员的岗位需求,阿里云将自己的认证分为了三个等级,分别是ACA、ACP和ACE三个,其中ACA是最简单的,ACE是最难的,ACP相对来说是中级,但是对于很多项目来说,ACP也可以相当于是高级了,因为ACE只有云计算一个认证,其他的很多都在ACP中。
648 0
考阿里云需要什么条件?考试难度大不大?