Var keyword trong C#

Từ version .net 2.0 thì khi khai báo 1 biến trong c# thì phải đi kèm với kiểu giá trị của nó, ví dụ khai báo 1 biến để lưu giá trị kiểu int thì người ta dùng:
int a = 0;

Thế nhưng sau khi có sự xuất hiện của linq thì từ version .net 3.0 trở đi cho phép chúng ta khai bao 1 biến lưu giá trị ngầm định, "ngầm định" ở đây là chúng ta sẻ chưa biết kiểu giá trị của nó cho đến khi trình biên dịch quyết định kiểu giá trị của nó.
Khi đó kiểu giá trị của nó sẻ phụ thuộc vào giá trị bên vế phải ví dụ:

var helloworld = "Hello world";

Khi đó helloworld sẻ có kiểu giá trị là kiểu int, how to check it

var helloworld = "Hello world";
Console.WriteLine(helloworld.GetType().Name);
Console.Read();

Giới hạn:
Chắc rằng var keyword cũng có mặt giới hạn của nó, thứ nhất nó chỉ cho phép khai báo trong phạm vi cục bộ (local) trong phương thức hoặc thuộc tính, và không hợp lệ nếu như kiểu dữ liêu trả về là var, cũng như là tham số cho phương thức.

Ví dụ: private var myInt = 10;
public var MyMethod(var x, var y) { }

Trình biên dịch sẻ báo lổi không thể biên dịch, tiếp theo là khi khai báo chúng ta phải gián giá trị mặc định cho nó, và giá trị đó không được null

// Error! Must assign a value!
var myData;
// Error! Must assign value at exact time of declaration!
var myInt;
myInt = 0;
// Error! Can't assign null as initial value!
var myObj = null;

Biên dịch không thành công

Kết luân: nếu chúng ta chưa biết giá trị cần lưu là gì thì nên dùng từ khóa var.
History version:
√ 20/05/2010 first release
√ 27/05/2010 add Restrictions of var keyword

Nguồn: Code2code

Nhận xét

Bài đăng phổ biến từ blog này

Kinh nghiệm tạo biểu đồ Use Case

PHÉP TOÁN XOR

Phần mềm hỗ trợ vẽ bản đồ tư duy trên máy tính

Power Designer 12.5