Thứ Bảy, 7 tháng 12, 2013

Phím tắt trong VS 2012

Ctrl + K + C: vô hiệu hóa một vùng code thành dạng comment

Ctrl + K + U:  Hoàn lại lệnh trên
- Ở các phiên bản thấp hơn có lẻ sẽ khác một chút. Có thể nhìn lên menu và kick vào:
Edit => Avanced => Comment Slection  



Phím thứ 2 là Format code cho ngay hàng thẳng lối. Đôi khi bạn copy code dán vào hoặc lúc gõ ẩu thì nên dùng phím này để Visual tự động đều chỉnh. Trông nó sẽ chuyên nghiệp hơn :D
Edit => Avanced => Format Document
Ctrl + K + D : Format tất cả

Edit => Avanced => Format Selection
Ctrl + K + F: Format vùng bạn chọn



Xóa  một vài mã trong đoạn code nhanh, bạn đang gõ một đoạn code, lại lấy thiếu một vài chữ ?
Hãy đặt con trỏ tại vị trí cần đặt:
Nhấn Backspace để xóa về bên trái
Nhấn Delete để xóa về bên phải
Có thể bạn thấy thường quá, nhưng lúc làm việc mới thấy nó linh hoạt như thế nào :) 



Đặt bookmark ! Việc này cũng không kém phần quan trọng, khi lương line code quá nhiều thì đặt bookmark ở những đoạn mã cần tới lui thường xuyên sẽ rất tiện lợi trong lúc làm việc

Đối với VS 2012: Đặt con trỏ tại dòng cần bookmark
Nhấn Ctrl + K + K : Tạo một BM tại điểm con trỏ chuột
Nhấn Ctrl + K +N : Nhảy tới BM tiếp
Nhấn Ctrl + K +P : Nhảy tới BM sau 



Hiển thị gợi ý cú pháp
Đặt con trỏ tại mã code cần gợi ý:

Nhấn Ctrl + Space : VS sẽ hiển thị lại lần nữa các gợi ý cú pháp liên quan.
Trong VS lúc bạn gõ code tới đâu thì đều có gợi ý code hiện ra. Cộng thêm việc cài các plugin hỗ trợ thì việc phải nhớ hết code không còn đáng lo ngại. Bạn hãy dành thời gian nhớ hết code 



Ctrl + K + \ : Xóa tất cả khoảng trống trong dòng code được ta bôi đen ! :))
Ctrl + Shift + L : Xóa dòng hiện tại (tại điểm con trỏ chuột). Xóa cả dòng rất nhanh không cần bôi đen

Shift + Alt + T : Đổi chỗ dòng tại vị trí chuột với dòng dưới nó. Nếu bạn cài Resharp hoặc các plugin khác sẽ xung đột phím tắt, thì khí nhấn như vậy nó sẽ hỏi bạn dùng cho bên nào ? chọn VS nhé

Ctrl + U : Biến các ký tự được bôi đen thanh chữ thường. 
Ctrl + Shift + U : Biến các ký tự thường thành chữ in HOA.

PageUp       : Cuộn trang code lên
PageDown  : Cuộn trang code xuống

Shift + F12 : Tìm reference của mã tại vị trí con trỏ  (Nếu có). Bạn mà để con trỏ tại mã thường thì không hiện gì đâu nhé

Và ta có thể thu gọn code bằng cặp lệnh mở đóng sau:

 #region  abcxyz
......
.....
your code
.......
#endregion

Toàn bộ code nằm trong cặp lệnh này sẽ được tùy ứng thu gọn cho bạn

Nói tới đây thôi nhé, còn rất nhiều hot key hay thủ thuật để tăng tốc code nữa. chẳng hạn như gõ cw rồi nhán Tab sẽ ra Console.WriteLine();  Trong quá trình học tập các bạn sẽ tìm tòi cho mình nhiều cách hơn nữa mà VS Studio và các plugin khác hỗ trợ . . .

Từ khóa static trong C#

Biến tĩnh (static variable):


Biến tĩnh là là biến có từ khóa static trước kiểu dữ liệu của biến.

Biến tĩnh chỉ được khởi tạo một lần trong bộ nhớ cho tất cả các thể hiện của đối tượng đó.
Ví dụ:
static string KeyName = "";

Phương thức tĩnh (static method)


Phương thức tĩnh là phương thức có từ khóa static trước kiểu dữ liệu trả về của phương thức đó khi khai báo phương thức.

Trong thân của phương thức chỉ được phép truy xuất những thành viên tĩnh (static member).


Ví dụ:

    
class KeywordTestClass
    {
        static string KeyName = "";
        string KeyID = "";

        public static string GetKeyName()
        {
            return KeyName;
        }

        public static string GetID()
        {
            return KeyID;   //Sai
        }
      }


Phương thức khởi tạo tĩnh (static constructor)



Phương thức khởi tạo tĩnh là phương thức có từ khóa static trước phương thức khởi tạo.

Phương thức khởi tạo được chạy trước khi bất kỳ đối tượng nào được tạo ra bằng toán tử new. Nên cận thận khi sử dụng phương thức khởi tạo tĩnh.


Ví dụ:



    class KeywordTestClass

    {
        static string KeyName = "";

        static KeywordTestClass()
        {
            KeyName = "KeywordTest";
        }
    }



Lớp tĩnh (static class)



Lớp tĩnh là lớp có khai báo từ khóa static trước tên lớp.

Đặc tính chủ yếu của lớp tĩnh:

  1. Chỉ chứa các tình viên tĩnh (They only contain static members). Tức là tất cả các biến hay phương thức đều phải khai báo là static.
  2. Không có thể hiện của lớp (They cannot be instantiated). Tức là không thể dử dụng từ khóa new để tạo đối tượng của lớp tĩnh.
  3. Là lớp niêm phong (They are sealed). Tức là không thể kế thừa từ lớp tĩnh.
  4. Không có phương tức khởi tạo thể hiện (They cannot contain Instance Constructors). Tức là phương thức khởi tạo cũng phải là static.

Ví dụ:


    public static class KeywordTestClass

    {
        static string KeyName = "";
        string KeyID = "";  //Sai

        static KeywordTestClass()
        {
            KeyName = "KeywordTest";
        }

        public static string GetKeyName()
        {
            return KeyName;
        }

        public string GetID()   //Sai
        {
            return KeyID;   //Sai
        }
    }

Sử dụng ký tự '@' trong C#

Ký tự @ có hai ý nghĩa đặc biệt trong một chương trình được viết bằng C#. Hai ý nghĩa đó là
  1. Cho phép sử dụng các từ khóa (keyword) trong C# như là tên biến hoặc kiểu dữ liệu 
    Khi viết một ứng dụng bằng C#, không phải lúc nào chúng ta cũng tự tạo ra một thành phần nào đó để sử dụng mà chúng ta có thể sử dụng các thư viện, lớp có sẵn. Tuy nhiên, các thành phần này có thể đã được viết bằng một ngôn ngữ lập trình khác (như VB, C++…) dẫn đến việt một số tên kiểu dữ liệu trong thành phần đó trùng với từ khóa của C#. Khi đó, chúng ta phải sử dụng ký tự @ để đặt phía trước tên kiểu dữ liệu đó. Ví dụ như chúng ta đang viết một chương trình C# có sử dụng một lớp chứa trong thư viện được viết bằng ngôn ngữ khác, và lớp này có tên là “public”. Vậy làm thế nào để sử dụng khai báo được một đối tượng của lớp đó. Cú pháp cần sử dụng của chúng ta sẽ là: 
    @public P = new @public(); 
    Một trường hợp khác là chúng ta có thể sử dụng chính các từ khóa trong C# để đặt tên cho biến bằng cách đặt ký hiệu @ phía trước tên biến đó. Ví dụ: 
    int @new = 10; // @new là một biến kiểu số nguyên

  2. Cho phép một chuỗi  thô không có xử lý cho các ký tự phía sau dấu \ bên trong 
    Giả sử như bạn muốn lưu chuỗi đường dẫn đến thư mục New trong ổ đĩa F thì chuỗi chúng ta cần phải được gán cho biến kiểu string như sau: 
    string path = “F:\\New”; 
    Bởi vì các ký tự \ trong một chuỗi có chức năng đặc biệt khi có ký tự đi kèm phía sau nó (ví dụ \n, \t, \r), cho nên chúng ta phải sử dụng hai dấu \\ trong đường dẫn này nhằm báo cho trình biên dịch biết là chúng ta thực sự muốn có ký tự \ trong chuỗi. 
    Nếu như sử dụng ký tự @, chúng ta không cần phải sử dụng hai ký tự \\ bởi vì trình biên dịch sẽ biết rằng chuỗi này không cần phải xử lý với các ký tự đặc biệt bên trong 
    string path = @”F:\New”;