灵活而又可怕的params参数数组
某日,我們一項目重構,不小心為一個類增加了一個Delete(string key)的方法,編譯通過,初看無恙,但一執行起來就不是那么回事了,仔細一查,才知道,類中有一個同名的重載方法,參數為一個params參數數組,難道是它作祟??
??
Msdn一下,果然如此:參考資料:params(C# 參考)http://msdn.microsoft.com/zh-cn/library/w5zay9db(v=VS.100).aspx
?
也就是它可以接受如下代碼里的各種參數,真是太靈活了,像個黑洞,有點可怕。
?
namespace ConsoleApplication1
{
??? class Program
??? {
??????? static void Main(string[] args)
??????? {
??????????? LzdTools.Test("aaa");
??????????? LzdTools.Test("aaa", "bbb");
??????????? LzdTools.Test("aaa", "bbb", "ccc");
??????????? string[] arr = { "ddd", "eee", "fff" };
??????????? LzdTools.Test(arr);
??????????? Console.ReadKey();??????????
??????? }??????
??? }
??? public static class LzdTools
??? {
??????? public static void Test(params string[] v)
??????? {
??????????? if (v.Length > 0)
??????????????? Console.WriteLine(v[0]);
???????????
??????????? if (v.Length > 1)
??????????????? Console.WriteLine(v[1]);
???????????
??????????? if (v.Length > 2)
??????????????? Console.WriteLine(v[2]);
???????????
??????????? if (v.Length > 3)
??????????????? Console.WriteLine(v[3]);
??????? }
??? }
}
轉載于:https://www.cnblogs.com/liuzhendong/archive/2012/01/10/2318271.html
總結
以上是生活随笔為你收集整理的灵活而又可怕的params参数数组的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一个5年运维工程师的新年回首
- 下一篇: BOOL与bool的区别(bool不是c