LINQ 查詢操作在數據源、查詢本身及查詢執行中是強類型的。查詢中變量的類型必須與數據源中元素的類型和 foreach 語句中迭代變量的類型兼容。此強類型保證在編譯時捕獲類型錯誤,以便可以在用戶遇到這些錯誤之前更正它們。
一、不轉換源數據的查詢
下圖演示不對數據執行轉換的 LINQ to Objects 查詢操作。源包含一個字符串序列,查詢輸出也是一個字符串序列。
下圖演示對數據執行簡單轉換的 LINQ to SQL 查詢操作。查詢將一個 Customer 對象序列用作輸入,並只選擇結果中的 Name 屬性。因為 Name 是一個字符串,所以查詢生成一個字符串序列作為輸出。
下圖演示另一種轉換。select 語句返回只捕獲原始 Customer 對象的兩個成員的匿名類型。
您也可以選擇讓編譯器為您執行全部工作。關鍵字 var 可用於查詢操作中的任何局部變量。但是,編譯器為查詢操作中的各個變量提供強類型。