C#中實(shí)現(xiàn)可變參數(shù)實(shí)例
C語(yǔ)言的printf函數(shù),參數(shù)的數(shù)量可以是可變的。使用 va_start 和 va_end 實(shí)現(xiàn)。
C++中,實(shí)現(xiàn)參數(shù)可變,可以用 overload。如果參數(shù)數(shù)量不是很多的話,可以一個(gè)參數(shù)實(shí)現(xiàn)一個(gè)函數(shù),兩個(gè)參數(shù)再實(shí)現(xiàn)一個(gè)函數(shù),三個(gè)參數(shù)再實(shí)現(xiàn)一個(gè)函數(shù)...
或者使用C的方案。
C#中,也可以用 overload?;蛘?params 關(guān)鍵字。
下述代碼除了演示 params 實(shí)現(xiàn)變數(shù)量的參數(shù),還演示了 這些參數(shù)的類型不必相同。
下述代碼的輸出是:
1
2
one
two
aa
one
two
aa
1
2
代碼如下:
namespace @params
{
class Program
{
public string value = "aa";
static void Main(string[] args)
{
Program p = new Program();
foo(1, 2, "one", "two", p);
Console.WriteLine();
foo("one", "two", p, 1, 2 );
}
public static void foo(params object[] list)
{
foreach(object o in list)
{
if (o.GetType() == typeof(int))
{
Console.WriteLine(o);
}
else if (o.GetType() == typeof(string))
{
Console.WriteLine(o);
}
else if (o.GetType() == typeof(Program))
{
Console.WriteLine(((Program)o).value);
}
}
}
}
}
相關(guān)文章
C#的Process類調(diào)用第三方插件實(shí)現(xiàn)PDF文件轉(zhuǎn)SWF文件
本篇文章主要介紹了C#的Process類調(diào)用第三方插件實(shí)現(xiàn)PDF文件轉(zhuǎn)SWF文件,現(xiàn)在分享給大家,具有一定的參考價(jià)值,有需要的可以了解一下。2016-11-11C#調(diào)用AForge實(shí)現(xiàn)攝像頭錄像的示例代碼
這篇文章主要介紹了C#調(diào)用AForge實(shí)現(xiàn)攝像頭錄像的示例代碼,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-09-09c# 實(shí)現(xiàn)打印機(jī)狀態(tài)查詢與阻塞打印
這篇文章主要介紹了c# 引用System.Management來(lái)實(shí)現(xiàn)對(duì)打印機(jī)狀態(tài)的查詢,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下2021-05-05C#實(shí)現(xiàn)SMTP郵件附件發(fā)送功能詳解
這篇文章主要為大家詳細(xì)介紹了如何利用C#實(shí)現(xiàn)SMTP郵件附件發(fā)送的功能,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下2022-12-12C#、ASP.NET通用擴(kuò)展工具類之LogicSugar
這篇文章主要介紹了C#、ASP.NET通用擴(kuò)展工具類之LogicSugar,本文直接給出實(shí)現(xiàn)代碼和使用方法示例,需要的朋友可以參考下2015-06-06Unity實(shí)現(xiàn)老虎機(jī)滾動(dòng)抽獎(jiǎng)效果的示例代碼
這篇文章主要介紹了Unity實(shí)現(xiàn)老虎機(jī)滾動(dòng)抽獎(jiǎng)效果的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04C#實(shí)現(xiàn)文件操作(復(fù)制,移動(dòng),刪除)的方法詳解
File類提供了常見(jiàn)的文件操作函數(shù),包括復(fù)制、移動(dòng)、刪除、創(chuàng)建快捷方式等,本文將通過(guò)一些簡(jiǎn)單的示例為大家詳細(xì)講講具體的使用,希望對(duì)大家有所幫助2023-05-05C#實(shí)現(xiàn)兩個(gè)richtextbox控件滾動(dòng)條同步滾動(dòng)的簡(jiǎn)單方法
這篇文章主要給大家介紹了C#實(shí)現(xiàn)兩個(gè)richtextbox控件滾動(dòng)條同步滾動(dòng)的簡(jiǎn)單方法,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-05-05