程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# 默認參數/可選參數需要注意

C# 默認參數/可選參數需要注意

編輯:C#入門知識

在使用C#的默認參數/可選參數的時候,需要注意,參數的默認值是在編譯的時候,自動加入調用方的。

 

如我有這樣一個方法:

 1     public class Name
 2     {
 3         public void Test(Boolean isPass, String name = "")
 4         {
 5             if (String.IsNullOrWhiteSpace(name))
 6                 Console.WriteLine("name is empty.");
 7             else
 8                 Console.WriteLine("name have value.");
 9         }
10     }

另一個dll中的方法掉用此方法:

1     public void Test()
2     {
3         DAL.Name c = new DAL.Name();
4         c.Test(true);
5     }

 

調用方最終編譯的結果是:

public void Test()
{
      Name c = new Name();
      c.Test(true, "");
}

可以看到,編譯的時候,把我們的默認值追加到了方法的調用方去了。因此需要注意一個問題:

如果我們的dll是公共組建,則最好不要使用默認參數,使用重載方法來實現不同參數的效果;因為使用默認參數的方法,如果只重新編譯了dll,而沒有重新編譯引用的dll,則會調用出錯

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved