tag:blogger.com,1999:blog-4500363753981919783.post632975496229938580..comments2023-10-03T22:06:50.708+08:00Comments on Huan-Lin 學習筆記: 我的 Visual C# 2010 按鍵速查表Michael Tsaihttp://www.blogger.com/profile/00364693770445538641noreply@blogger.comBlogger6125tag:blogger.com,1999:blog-4500363753981919783.post-35131922789716113332010-10-18T03:44:43.786+08:002010-10-18T03:44:43.786+08:00由於留言回覆的內容太長,超過 Blogspot 允許儲存的字數限制,所以我用單獨一篇文章回覆你囉! ...由於留言回覆的內容太長,超過 Blogspot 允許儲存的字數限制,所以我用單獨一篇文章回覆你囉! 網址是:<br />http://huan-lin.blogspot.com/2010/10/reply-about-params-array.htmlMichael Tsaihttps://www.blogger.com/profile/00364693770445538641noreply@blogger.comtag:blogger.com,1999:blog-4500363753981919783.post-21041946817346855182010-10-18T03:34:41.233+08:002010-10-18T03:34:41.233+08:001. 關於這點,你可以從呼叫端的角度來思考。MSDN 上面說的,位元組陣列的例子,確實不適合用來當作...1. 關於這點,你可以從呼叫端的角度來思考。MSDN 上面說的,位元組陣列的例子,確實不適合用來當作參數陣列,因為在實際使用時,呼叫端很少會傳入不明個數的參數,而是會先準備好陣列的內容,再把整個陣列傳過去。想想看你是否會以這種方式呼叫一個函式:<br /><br />StrangeParamsArray(0x00, 0x11, 0x22, 0xaa, 0xff, 0xcc);<br /><br />我想應該很少人會這樣寫。你可以拿 String.Format 的例子來看,它的不定參數傳遞,使用起來是不是很方便?因為你每次需要呼叫時,傳入的參數都可以隨當時的需要而有不同的個數。<br /><br />2. string [] RecevieData="00 11 22 AA FF CC";<br />這只是陣列的宣告,並不是不固定的個數資料。如第一點所說,「不固定」,是從呼叫端的角度來看的,是傳入參數時的寫法可以用 (參數1, 參數2, 參數3.....) 這樣不斷以逗號分隔的不定參數,才有意義。<br /><br />如果你的程式其實都是傳固定的陣列,就不要宣告為 params(雖然一樣可以傳固定陣列,這點我在課堂上有 demo),因為意義不大 ==> 呼叫端使用時如果每次都要先建立一個陣列,那又何必為函式的參數加上 params 宣告呢?用單純的陣列就足夠了。<br /><br />簡單來說,如果你在設計一個函式時,希望呼叫這個函式的人可以用 (p1, p2, p3, ....) 這樣以逗號分隔方式傳入不定個數參數的寫法,那就是使用 params 的時機了。除此之外,用陣列就好囉。所以一般我們用到 params 的情況,其實不多啦!<br /><br />希望以上有回答你的問題。Michael Tsaihttps://www.blogger.com/profile/00364693770445538641noreply@blogger.comtag:blogger.com,1999:blog-4500363753981919783.post-39581219759893247362010-10-18T03:34:20.767+08:002010-10-18T03:34:20.767+08:001. 關於這點,你可以從呼叫端的角度來思考。MSDN 上面說的,位元組陣列的例子,確實不適合用來當作...1. 關於這點,你可以從呼叫端的角度來思考。MSDN 上面說的,位元組陣列的例子,確實不適合用來當作參數陣列,因為在實際使用時,呼叫端很少會傳入不明個數的參數,而是會先準備好陣列的內容,再把整個陣列傳過去。想想看你是否會以這種方式呼叫一個函式:<br /><br />StrangeParamsArray(0x00, 0x11, 0x22, 0xaa, 0xff, 0xcc);<br /><br />我想應該很少人會這樣寫。你可以拿 String.Format 的例子來看,它的不定參數傳遞,使用起來是不是很方便?因為你每次需要呼叫時,傳入的參數都可以隨當時的需要而有不同的個數。<br /><br />2. string [] RecevieData="00 11 22 AA FF CC";<br />這只是陣列的宣告,並不是不固定的個數資料。如第一點所說,「不固定」,是從呼叫端的角度來看的,是傳入參數時的寫法可以用 (參數1, 參數2, 參數3.....) 這樣不斷以逗號分隔的不定參數,才有意義。<br /><br />如果你的程式其實都是傳固定的陣列,就不要宣告為 params(雖然一樣可以傳固定陣列,這點我在課堂上有 demo),因為意義不大 ==> 呼叫端使用時如果每次都要先建立一個陣列,那又何必為函式的參數加上 params 宣告呢?用單純的陣列就足夠了。<br /><br />簡單來說,如果你在設計一個函式時,希望呼叫這個函式的人可以用 (p1, p2, p3, ....) 這樣以逗號分隔方式傳入不定個數參數的寫法,那就是使用 params 的時機了。除此之外,用陣列就好囉。所以一般我們用到 params 的情況,其實不多啦!<br /><br />希望以上有回答你的問題。Michael Tsaihttps://www.blogger.com/profile/00364693770445538641noreply@blogger.comtag:blogger.com,1999:blog-4500363753981919783.post-33222414242744420142010-10-17T22:52:28.255+08:002010-10-17T22:52:28.255+08:00關於參數陣列不懂地方請老師解達:
老師我在msdn查到params 用法時機
http://msdn...關於參數陣列不懂地方請老師解達:<br />老師我在msdn查到params 用法時機<br />http://msdn.microsoft.com/zh-tw/library/ms229008.aspx<br /><br />1.不懂以下說法<br /><br />如果呼叫端幾乎都已經在陣列中有輸入,則不要使用 params 陣列。<br /><br />例如,位元組資料通常會儲存在位元組陣列中,並在其中管理。<br />將 params 關鍵字加入到位元組陣列參數中並不適合一般的情況,<br />因為開發人員通常不會使用尚未儲存在位元組陣列中的個別位元組。<br /><br />2.恆 逸課本中參數陣列"可接收不固定個數的同型別資料"<br /><br />string [] RecevieData="00 11 22 AA FF CC";<br />上述宣告這樣代表不固定個數資料嗎<br />如果不加params 就像以下傳遞陣列當做參數 列子是不是<br />http://msdn.microsoft.com/zh-tw/library/hyfeyz71%28VS.80%29.aspx<br /><br />那如果宣告string [] Data=new string[500];<br />每次傳至funtion(方法)都是固定字數就不必加params時機比較不會發生錯誤違機<br />不知道第二我理解對不對Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-4500363753981919783.post-57563668931015611332010-09-21T00:17:37.507+08:002010-09-21T00:17:37.507+08:00Thanks!Thanks!Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-4500363753981919783.post-59341980333306446772010-09-10T10:41:47.717+08:002010-09-10T10:41:47.717+08:00感謝分享感謝分享Anonymousnoreply@blogger.com