using对命名空间的使用
这样可以在程序中直接用命令空间的类型,而不必指定类型的详细命名空间。
using定义别名
举个栗子:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace UsingTest_NameTest_1
{
public class Name
{
public string getSomeString()
{
return "this is method of FirstName";
}
}
}
namespace UsingTest_NameTest_2
{
public class Name
{
public string getSomeString()
{
return "this is method of SecName";
}
}
namespace UsingTest_NameTest
{
using FirstName = UsingTest_NameTest_1.Name;
using SecName = UsingTest_NameTest_2.Name;
public class TestUsing
{
public static void Main(string[] args)
{
FirstName one = new FirstName();
Console.WriteLine(one.getSomeString());
SecName two = new SecName();
Console.WriteLine(two.getSomeString());
Console.Read();
}
}
}
作用:这样就避免了很多重名的麻烦,而且,使得有些很长的命名空间的名字的以简化
using 自动释放所新建的对象
举个栗子:
namespace UsingTest_NameTest_1
{
public class Name:IDisposable
{
public string getSomeString()
{
return "this is method of FirstName";
}
public void Dispose()
{
Console.WriteLine("UsingTest_NameTest_1 释放");
}
}
}
namespace UsingTest_NameTest
{
using FirstName = UsingTest_NameTest_1.Name;
using SecName = UsingTest_NameTest_2.Name;
public class TestUsing
{
public static string TestUsingName()
{
using (FirstName name = new FirstName())
{
return "Here";
}
}
public static void Main(string[] args)
{
Console.WriteLine(TestUsingName());
FirstName one = new FirstName();
Console.WriteLine(one.getSomeString());
SecName two = new SecName();
Console.WriteLine(two.getSomeString());
Console.Read();
}
}
}
作用:自动释放,避免缓存,避免内存溢出
在某个代码中使用类的实例,希望无论什么原因,只要离开这个代码段就自动调用这个类的Dispose,虽然Try{}cath(){}finally{}也可以做到,但是using代码段更简单