用於區域變數宣告,型別由初始化運算式推斷(類似 JavaScript 但更嚴格)。
var i = 10;
var name = "edisundong";
var numbers = new int[] { 1, 2, 3 };
// 等同於 int i=10; string name="edisundong"; int[] numbers=...
var integer = 10; integer = "str"; 編譯錯誤無需修改原類別即可擴充功能:
public static class StudentExtensionMethods
{
public static string GetStudentInformation(this Student stu)
=> string.Format("Name: {0} {1} Age: {2}", stu.StuName, stu.StuAge, stu.StuClass);
}
靜態類別 + 靜態方法 + 第一參數 this Student,即可像實例方法調用:
Student stu2 = new Student { StuName = "Brian", StuAge = "12", StuClass = "1 班" };
Console.WriteLine(stu2.GetStudentInformation());
整合 SQL Server、XML、記憶體等異質資料源,配合 Lambda 精準查詢:
IEnumerable<Employee> results =
from c in db.Employee
where c.FirstName.Contains(criteria)
select c;
解決以往不同資料源需不同查詢語言的痛點。