.Net C# Using 关键字

在使用.Net C#开发的过程中,Using始终伴随着我们的开发全过程,到现在Using已经有很多用法了,下面列出一些例子。

Using 指令:

帮助我们引入命名空间,方便我们使用该命名空间下所有类型;

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

Using 指令 别名:

有时候部分类型在不同命名空间下会出现重名冲突,需要我们手工指定具体命名空间,为了避免写很长的引用代码,可以使用Using 指令起一个别名:

using ll= System.Collections.Generic;
    class UsingDemo
    {
        public static void UsingMain()
        {
            {

                System.Collections.Generic.List list = new System.Collections.Generic.List();
                ll.List list2 = new ll.List();

            }
        }
    }

Using global 关键字组合:

在Using引入命名空间时,可以添加global修饰符,指定该命名空间时全局的,在整个项目范围内都可以直接使用该命名空间下的类型而无需再单独引用。如果不加global关键字,引入的命名空间仅在单个代码文件中生效。

global using System.Linq;

Using static 关键字组合:

在Using引入命名空间时,可以添加static修饰符,指定具体一个类型,然后就可以像调用自己写的方法一样使用该类型下的静态成员。

using static System.IO.File;
   class UsingDemo
    {
        public static void UsingMain()
        {
            {
                if (!Exists("a.txt"))
                {
                    Create("a.txt").Close();
                }

                Console.WriteLine(Exists("a.txt"));
            }
        }
    }

Using 语句:

Using语句是个语法糖,很甜。Using语句可以帮助我们减少代码量,让代码更整洁,方便阅读,它在范围内代码运行完后会自动调用对象上的 Dispose 方法,释放资源,等于 我们手工写 try-finally 语句在finally中手动调用 Dispose释放资源。

class UsingDemo
    {
        public static void UsingMain()
        {
            {
                //写入文件,然后自动释放StreamWriter对象
                using var sw = new StreamWriter("a.txt", true, Encoding.UTF8);
                sw.WriteLine("Using StreamWriter");
                sw.WriteLine("写入文件测试。");
                sw.Flush();
            }
            {
                //读取文件,然后自动释放StreamReader对象
                using var sr = new StreamReader("a.txt", Encoding.UTF8);
                Console.WriteLine(sr.ReadToEnd());
            }
        }
    }

输出结果:

 

你可能感兴趣的:(.Net,C#,.net,c#,microsoft)