请在此代码中解释"default()"的使用

use*_*745 6 c# smo

来源 http://technet.microsoft.com/en-us/library/ms162234%28SQL.100%29.aspx

//Connect to the local, default instance of SQL Server. 

  { 

     Server srv = default(Server);
     srv = new Server(); 
     //Create a linked server. 
     LinkedServer lsrv = default(LinkedServer); 
     lsrv = new LinkedServer(srv, "OLEDBSRV"); 
     //When the product name is SQL Server the remaining properties are 
     //not required to be set. 
     lsrv.ProductName = "SQL Server"; 
     lsrv.Create(); 

  } 
Run Code Online (Sandbox Code Playgroud)

为什么要使用默认(服务器),? - 即使它的服务器asd = new asd(); 它仍将连接到默认实例!

为什么要使用默认值(linkedserver) - 这一点是什么?我们仍然指定srv和提供商和产品!

Jon*_*eet 11

default(...)是默认值运算符.它为引用类型计算为null,或为值类型计算"零"值.

这里绝对没有意义......变量立即被赋予不同的值.这是等效的,更整洁的代码:

Server srv = new Server(); 
//Create a linked server. 
LinkedServer lsrv = new LinkedServer(srv, "OLEDBSRV"); 
//When the product name is SQL Server the remaining properties are 
//not required to be set. 
lsrv.ProductName = "SQL Server"; 
lsrv.Create(); 
Run Code Online (Sandbox Code Playgroud)