<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專(zhuān)題視頻專(zhuān)題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專(zhuān)題1關(guān)鍵字專(zhuān)題50關(guān)鍵字專(zhuān)題500關(guān)鍵字專(zhuān)題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專(zhuān)題關(guān)鍵字專(zhuān)題tag2tag3文章專(zhuān)題文章專(zhuān)題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專(zhuān)題3
        問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
        當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

        asp.net(c#)ref,out ,params的區(qū)別

        來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:43:34
        文檔

        asp.net(c#)ref,out ,params的區(qū)別

        asp.net(c#)ref,out ,params的區(qū)別:NO.1 params 一個(gè)可以讓方法(函數(shù))的擁有可變參數(shù)的關(guān)鍵字。 原則:在方法聲明中的 params 關(guān)鍵字之后不允許任何其他參數(shù),并且在方法聲明中只允許一個(gè) params 關(guān)鍵字。 示例(拷貝到vs2005中即可用,下面不再說(shuō)明) 代碼如下:public parti
        推薦度:
        導(dǎo)讀asp.net(c#)ref,out ,params的區(qū)別:NO.1 params 一個(gè)可以讓方法(函數(shù))的擁有可變參數(shù)的關(guān)鍵字。 原則:在方法聲明中的 params 關(guān)鍵字之后不允許任何其他參數(shù),并且在方法聲明中只允許一個(gè) params 關(guān)鍵字。 示例(拷貝到vs2005中即可用,下面不再說(shuō)明) 代碼如下:public parti

        NO.1 params
        一個(gè)可以讓方法(函數(shù))的擁有可變參數(shù)的關(guān)鍵字。
        原則:在方法聲明中的 params 關(guān)鍵字之后不允許任何其他參數(shù),并且在方法聲明中只允許一個(gè) params 關(guān)鍵字。
        示例(拷貝到vs2005中即可用,下面不再說(shuō)明)
        代碼如下:

        public partial class Form1 : Form
        {
        public static void UseParams(params int[] list)
        {
        string temp = "";
        for (int i = 0; i < list.Length; i++)
        temp = temp +" " +list[i].ToString();
        MessageBox.Show(temp);
        }
        public static void UseParams2(params object[] list)
        {
        string temp = "";
        for (int i = 0; i < list.Length; i++)
        temp = temp + " " + list[i].ToString();
        MessageBox.Show(temp);
        }
        public Form1()
        {
        InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
        UseParams(1, 2, 3);//看參數(shù)是3個(gè)
        UseParams(1, 2); //看參數(shù)是2個(gè),可變吧
        UseParams2(1, 'a', "test");
        int[] myarray = new int[3] { 10, 11, 12 };
        UseParams(myarray); //看也可以是容器類(lèi),可變吧:)
        }
        }

        NO.2 out
        這是一個(gè)引用傳遞L。
        原則一:當(dāng)一個(gè)方法(函數(shù))在使用out作為參數(shù)時(shí),在方法中(函數(shù))對(duì)out參數(shù)所做的任何更改都將反映在該變量中。
        原則二:當(dāng)希望方法返回多個(gè)值時(shí),聲明 out 方法非常有用。使用 out 參數(shù)的方法仍然可以返回一個(gè)值。一個(gè)方法可以有一個(gè)以上的 out 參數(shù)。
        原則三:若要使用 out 參數(shù),必須將參數(shù)作為 out 參數(shù)顯式傳遞到方法。out 參數(shù)的值不會(huì)傳遞到 out 參數(shù)。
        原則四:不必初始化作為 out 參數(shù)傳遞的變量,因?yàn)閛ut 參數(shù)在進(jìn)入方法(函數(shù))時(shí)后清空自己,使自己變成一個(gè)干凈的參數(shù),也因?yàn)檫@個(gè)原因必須在方法返回之前為 out 參數(shù)賦值(只有地址沒(méi)有值的參數(shù)是不能被.net接受的)。
        原則五:屬性不是變量,不能作為 out 參數(shù)傳遞。
        原則六:如果兩個(gè)方法的聲明僅在 out 的使用方面不同,則會(huì)發(fā)生重載。不過(guò),無(wú)法定義僅在 ref 和 out 方面不同的重載。例如,以下重載聲明是有效的:
        代碼如下:

        class MyClass
        {
        public void MyMethod(int i) {i = 10;}
        public void MyMethod(out int i) {i = 10;}
        }

        而以下重載聲明是無(wú)效的:
        代碼如下:

        class MyClass
        {
        public void MyMethod(out int i) {i = 10;}
        public void MyMethod(ref int i) {i = 10;}
        }

        有關(guān)傳遞數(shù)組的信息,請(qǐng)參見(jiàn)使用 ref 和 out 傳遞數(shù)組。
        示例附后
        NO.2 ref
        ref僅僅是一個(gè)地址!!!
        原則一:當(dāng)一個(gè)方法(函數(shù))在使用ref作為參數(shù)時(shí),在方法中(函數(shù))對(duì)ref參數(shù)所做的任何更改都將反映在該變量中。
        原則二:調(diào)用方法時(shí),在方法中對(duì)參數(shù)所做的任何更改都將反映在該變量中。
        原則三:若要使用 ref 參數(shù),必須將參數(shù)作為 ref 參數(shù)顯式傳遞到方法。ref 參數(shù)的值可以被傳遞到 ref 參數(shù)。
        原則四:ref參數(shù)傳遞的變量必須初始化,因?yàn)閞ef參數(shù)在進(jìn)入方法(函數(shù))時(shí)后還是它自己,它這個(gè)地址指向的還是原來(lái)的值,也因?yàn)檫@個(gè)原因ref參數(shù)也可以在使用它的方法內(nèi)部不操作。
        原則六:如果兩種方法的聲明僅在它們對(duì) ref 的使用方面不同,則將出現(xiàn)重載。但是,無(wú)法定義僅在 ref 和 out 方面不同的重載。例如,以下重載聲明是有效的:
        代碼如下:

        class MyClass
        {
        public void MyMethod(int i) {i = 10;}
        public void MyMethod(ref int i) {i = 10;}
        }

        但以下重載聲明是無(wú)效的:
        代碼如下:

        class MyClass
        {
        public void MyMethod(out int i) {i = 10;}
        public void MyMethod(ref int i) {i = 10;}
        }

        有關(guān)傳遞數(shù)組的信息,請(qǐng)參見(jiàn)使用 ref 和 out 傳遞數(shù)組。
        示例
        代碼如下:

        public static string TestOut(out string i)
        {
        i = "out b";
        return "return value";
        }
        public static void TestRef(ref string i)
        {
        //改變參數(shù)
        i = "ref b";
        }
        public static void TestNoRef(string refi)
        {
        // 不用改變?nèi)魏螙|西,這個(gè)太明顯了
        refi = "on c";
        }
        public Form1()
        {
        InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
        string outi;//不需要初始化
        MessageBox.Show(TestOut(out outi));//返回值
        //
        輸出"return value";
        MessageBox.Show(outi);//調(diào)用后的out參數(shù)
        //輸出"out b";
        string refi = "a"; // 必須初始化
        TestRef(ref refi); // 調(diào)用參數(shù)
        MessageBox.Show(refi);
        //輸出"ref b";
        TestNoRef(refi);//不使用ref
        MessageBox.Show(refi);
        //輸出"ref b";
        }

        聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        asp.net(c#)ref,out ,params的區(qū)別

        asp.net(c#)ref,out ,params的區(qū)別:NO.1 params 一個(gè)可以讓方法(函數(shù))的擁有可變參數(shù)的關(guān)鍵字。 原則:在方法聲明中的 params 關(guān)鍵字之后不允許任何其他參數(shù),并且在方法聲明中只允許一個(gè) params 關(guān)鍵字。 示例(拷貝到vs2005中即可用,下面不再說(shuō)明) 代碼如下:public parti
        推薦度:
        標(biāo)簽: 區(qū)別 out net
        • 熱門(mén)焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門(mén)推薦

        專(zhuān)題
        Top
        主站蜘蛛池模板: APP在线免费观看视频| 久久丫精品国产亚洲av| 亚洲欧美自偷自拍另类视| 2021国产精品成人免费视频| 亚洲天天在线日亚洲洲精| 国产免费拔擦拔擦8X高清在线人| 国产亚洲人成网站在线观看| 国产精品免费一区二区三区| 亚洲色欲色欲www在线丝| 久久久高清免费视频| 老司机亚洲精品影院无码| 久久永久免费人妻精品| 在线免费观看亚洲| 免费看美女裸露无档网站| 亚洲免费观看在线视频| 在线观看成人免费| 国产亚洲福利一区二区免费看| 亚洲成人国产精品| a级毛片视频免费观看| 亚洲美女视频免费| 成年美女黄网站色大免费视频| 国产成人综合久久精品亚洲| 色噜噜亚洲精品中文字幕 | 亚洲国产日韩在线人成下载| 成人福利免费视频| 国产成人亚洲精品电影| 亚洲成AV人片在WWW色猫咪| 国拍在线精品视频免费观看| 美女扒开尿口给男人爽免费视频| 狠狠亚洲狠狠欧洲2019| 99久久久国产精品免费牛牛四川| 亚洲色无码国产精品网站可下载| 亚洲美日韩Av中文字幕无码久久久妻妇| 久久精品成人免费网站| 亚洲乱妇老熟女爽到高潮的片 | 亚洲动漫精品无码av天堂| 五月婷婷在线免费观看| 老司机午夜免费视频| 久久亚洲精品无码aⅴ大香| 好爽好紧好大的免费视频国产| 两个人看www免费视频|