我的 Visual C# 2010 按鍵速查表

微軟網站上提供的 Visual Studio 2010 Keybinding Posters 雖然挺方便的,只是印出來之後,發現文件的 size 還是嫌大了點,其中有些按鍵對我來說也不是很常用,因此依自己的習慣整理了一份比較小的按鍵速查表,如下圖:


圖片的解析度不佳,如果你要印出來,這裡可以下載 PDF 檔:MyCsharp2010Keybindings.pdf(2010-9-14 增加 [Alt + 右方向鍵]:完成目前輸入到一半的識別字)

2010-9-6 補充

書籤:
  • 設定書籤:Ctrl+K+K
  • 移到下一個書籤:Ctrl+K+N
  • 移到上一個書籤:Ctrl+K+P
  • 在切換書籤時是可以跨檔案的。
巨集:
  • 錄製/停止錄製巨集:Ctrl+Shift+R
  • 播放巨集:Ctrl+Shift+P
  • 開啟巨集總管視窗:Alt+F8
  • 開啟巨集編輯器:Alt+F11

ps. 我沒仔細核對,但這些按鍵對 Visual Basic 專案應該也適用。


6 則留言:

  1. 關於參數陣列不懂地方請老師解達:
    老師我在msdn查到params 用法時機
    http://msdn.microsoft.com/zh-tw/library/ms229008.aspx

    1.不懂以下說法

    如果呼叫端幾乎都已經在陣列中有輸入,則不要使用 params 陣列。

    例如,位元組資料通常會儲存在位元組陣列中,並在其中管理。
    將 params 關鍵字加入到位元組陣列參數中並不適合一般的情況,
    因為開發人員通常不會使用尚未儲存在位元組陣列中的個別位元組。

    2.恆 逸課本中參數陣列"可接收不固定個數的同型別資料"

    string [] RecevieData="00 11 22 AA FF CC";
    上述宣告這樣代表不固定個數資料嗎
    如果不加params 就像以下傳遞陣列當做參數 列子是不是
    http://msdn.microsoft.com/zh-tw/library/hyfeyz71%28VS.80%29.aspx

    那如果宣告string [] Data=new string[500];
    每次傳至funtion(方法)都是固定字數就不必加params時機比較不會發生錯誤違機
    不知道第二我理解對不對

    回覆刪除
  2. 1. 關於這點,你可以從呼叫端的角度來思考。MSDN 上面說的,位元組陣列的例子,確實不適合用來當作參數陣列,因為在實際使用時,呼叫端很少會傳入不明個數的參數,而是會先準備好陣列的內容,再把整個陣列傳過去。想想看你是否會以這種方式呼叫一個函式:

    StrangeParamsArray(0x00, 0x11, 0x22, 0xaa, 0xff, 0xcc);

    我想應該很少人會這樣寫。你可以拿 String.Format 的例子來看,它的不定參數傳遞,使用起來是不是很方便?因為你每次需要呼叫時,傳入的參數都可以隨當時的需要而有不同的個數。

    2. string [] RecevieData="00 11 22 AA FF CC";
    這只是陣列的宣告,並不是不固定的個數資料。如第一點所說,「不固定」,是從呼叫端的角度來看的,是傳入參數時的寫法可以用 (參數1, 參數2, 參數3.....) 這樣不斷以逗號分隔的不定參數,才有意義。

    如果你的程式其實都是傳固定的陣列,就不要宣告為 params(雖然一樣可以傳固定陣列,這點我在課堂上有 demo),因為意義不大 ==> 呼叫端使用時如果每次都要先建立一個陣列,那又何必為函式的參數加上 params 宣告呢?用單純的陣列就足夠了。

    簡單來說,如果你在設計一個函式時,希望呼叫這個函式的人可以用 (p1, p2, p3, ....) 這樣以逗號分隔方式傳入不定個數參數的寫法,那就是使用 params 的時機了。除此之外,用陣列就好囉。所以一般我們用到 params 的情況,其實不多啦!

    希望以上有回答你的問題。

    回覆刪除
  3. 1. 關於這點,你可以從呼叫端的角度來思考。MSDN 上面說的,位元組陣列的例子,確實不適合用來當作參數陣列,因為在實際使用時,呼叫端很少會傳入不明個數的參數,而是會先準備好陣列的內容,再把整個陣列傳過去。想想看你是否會以這種方式呼叫一個函式:

    StrangeParamsArray(0x00, 0x11, 0x22, 0xaa, 0xff, 0xcc);

    我想應該很少人會這樣寫。你可以拿 String.Format 的例子來看,它的不定參數傳遞,使用起來是不是很方便?因為你每次需要呼叫時,傳入的參數都可以隨當時的需要而有不同的個數。

    2. string [] RecevieData="00 11 22 AA FF CC";
    這只是陣列的宣告,並不是不固定的個數資料。如第一點所說,「不固定」,是從呼叫端的角度來看的,是傳入參數時的寫法可以用 (參數1, 參數2, 參數3.....) 這樣不斷以逗號分隔的不定參數,才有意義。

    如果你的程式其實都是傳固定的陣列,就不要宣告為 params(雖然一樣可以傳固定陣列,這點我在課堂上有 demo),因為意義不大 ==> 呼叫端使用時如果每次都要先建立一個陣列,那又何必為函式的參數加上 params 宣告呢?用單純的陣列就足夠了。

    簡單來說,如果你在設計一個函式時,希望呼叫這個函式的人可以用 (p1, p2, p3, ....) 這樣以逗號分隔方式傳入不定個數參數的寫法,那就是使用 params 的時機了。除此之外,用陣列就好囉。所以一般我們用到 params 的情況,其實不多啦!

    希望以上有回答你的問題。

    回覆刪除
  4. 由於留言回覆的內容太長,超過 Blogspot 允許儲存的字數限制,所以我用單獨一篇文章回覆你囉! 網址是:
    http://huan-lin.blogspot.com/2010/10/reply-about-params-array.html

    回覆刪除

技術提供:Blogger.