C#函數可變參數的使用


一般情況下,函數中參數是確定的。但是在某些情況下,函數的參數個數可以根據需要改變而改變,可變參數的函數使用方法是在參數前加params。

以下是我的一個demo:

查看代碼
 1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5
6 namespace demo
7 {
8 class Program
9 {
10 static void Vfunc(params string[] values)
11 {
12 foreach (string s in values)
13 {
14 Console.WriteLine(s);
15 }
16 }
17
18 static void Main(string[] args)
19 {
20 string[] names = {"zhm"};
21 string[] sexs = { "", "" };
22 Vfunc(names);
23 Vfunc(sexs);
24 Console.ReadKey();
25 }
26 }
27 }

//輸出zhm

         男

         女

當然,一個函數也可包含可變參數和不變參數,兩個可以同時使用

查看代碼
 1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5
6 namespace demo
7 {
8 class Program
9 {
10
11 static void SayHello(string name, params string[] nichens)
12 {
13 Console.WriteLine("我的名字{0}",name);
14 foreach(string nichen in nichens)
15 {
16 Console.WriteLine("我的昵稱{0}",nichen);
17 }
18 }
19 static void Main(string[] args)
20 {
21 string[] names = {"zhm","dd","yy","ii","UU" };
22 SayHello("zhm", names);
23
24 Console.ReadKey();
25 }
26 }
27 }

但是值得注意的是可變參數必須放在函數中參數位置的最后一個,上述函數如果寫成 static void SayHello(params string[] nichens,string name)

就會顯示錯誤:“params參數必須是形象參表中最后一個"。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM