浙江福彩3d走势图
我們來自五湖四海,不為別的,只因有共同的愛好,為中國互聯網發展出一分力!

C# .NET4中新添加的功能:可選參數 和命名參數

2012年07月08日10:41 閱讀: 2962 次

標簽: C#, 命名參數, 可選參數, 妙用, .NET4, 新功能

1.可選參數

可選參數是.NET4中新添加的功能,應用可選參數的方法在被調用的時可以選擇性的添加需要的參數,而不需要的參數由參數默認值取代。



classProgram
    {
        /// <summary>
        /// 可選參數  命名參數
        /// </summary>
        staticvoidMain(string[] args)
        {
            Console.WriteLine(ShowComputer());
            Console.WriteLine(ShowComputer("P5300","1G"));
            Console.Read();
        }
 
        privatestaticstringShowComputer(string cpu ="i3 370M",string ram ="4G",string disk ="320G")
        {
            return"My computer ... \nCpu:"+ cpu +"\nRam:"+ ram +"\nDisk:"+ disk +"\n";
        }
    }


代碼運行的結果圖下圖:


2.命名參數

命名參數是把參數附上參數名稱,這樣在調用方法的時候不必按照原來的參數順序填寫參數,只需要對應好參數的名稱也能完成方法。

classProgram
    {
        /// <summary>
        /// 可選參數  命名參數
        /// </summary>
        staticvoidMain(string[] args)
        {
            Console.WriteLine(ShowComputer("i3 370M","2G","320G"));
            Console.WriteLine(ShowComputer(disk:"320G", cpu:"i3 370M", ram:"2G"));
            Console.Read();
        }
 
        privatestaticstringShowComputer(stringcpu,stringram,stringdisk)
        {
            return"My computer ... \nCpu:"+ cpu +"\nRam:"+ ram +"\nDisk:"+ disk +"\n";
        }
    }
以上代碼兩次輸出的結果應該是相同的,運行結果如下圖:

命名參數如果只是改變參數的順序,這樣的意義并不大,我們沒有必要為了改變順序而去用命名參數,他與可選參數結合才能顯示出他真正的意義。

classProgram
    {
        /// <summary>
        /// 可選參數  命名參數
        /// </summary>
        staticvoidMain(string[] args)
        {
            Console.WriteLine(ShowComputer(ram:"3G"));
            Console.Read();
        }
 
        privatestaticstringShowComputer(stringcpu ="i3 370M",stringram ="2G",stringdisk ="320G")
        {
            return"My computer ... \nCpu:"+ cpu +"\nRam:"+ ram +"\nDisk:"+ disk +"\n";
        }
    }
程序只賦值了第二個參數ram,其他參數均為默認值,運行結果大家應該都知道了。這樣命名參數和可選參數都發揮了他們獨特的作用。
分享到: 更多
藍客門戶
©2001-2019 中國藍客聯盟 版權所有.
關于藍客聯盟歷史宗旨章程技術服務聯系我們藍客社區

浙江福彩3d走势图 3d2019174期太湖钓叟三字诀 网络版足球 北京时时直播网 山东齐鲁风采群英会 新疆时时票控开奖结果 江苏快三回本技巧 时时彩大小单双软件 极速赛车越输越多怎么办 2000年最火电子游戏 安徽11选5今日10期