C#using和using static 指令

调用静态方法需要附加命名空间和类型名前缀。例如在调用System.Console.WriteLine时,虽然调用的方法是WriteLine(),且当前上下文无其他同名方法,但仍然必须附加命名空间(System)和类型名(Console)前缀。可利用C#6.0新增的using static指令避免这些前缀,如以下代码

using static System.Console;
namespace ListNode
{
	class HelloWorld
    {
        static void Main()
        {
            string firstname;
            string lastname;

            WriteLine("Hey you!");

            Write("Enter your first name:");
            firstname = ReadLine();

            Write("Enter your last name:");
            lastname = ReadLine();

            WriteLine($"Your full name is {firstname} {lastname}");
        }
    }
}

using static指令需要添加到文件顶部,即放在namespace之前,每次使用System.Console类的成员,都不需要再添加System.Console前缀。相反,直接使用其中的方法名即可。注意该指令只支持静态方法和属性,不支持实例成员。类似的,using指令用于省略命名空间前缀(例如System)。和using static不同,using作用于它所在的整个文件(或命名空间),而非仅作用于静态成员。使用using指令,不管在实例化时,在调用静态方法时,还是在使用C#6.0新增的nameof操作符时,都可省略对命名空间的引用。

你可能感兴趣的:(C#,c#)