共用方式為


HOW TO:在查詢運算式中使用隱含型別區域變數和陣列 (C# 程式設計手冊)

更新:2007 年 11 月

您必須使用隱含型別區域變數儲存匿名型別。也可以在您要編譯器判斷區域變數型別 (換句話說,就是在方法範圍中宣告的變數) 的其他狀況中使用。下列範例顯示如何在兩個情況中使用隱含型別變數。

隱含型別區域變數是使用 var 內容關鍵字宣告。如需詳細資訊,請參閱隱含型別區域變數 (C# 程式設計手冊)隱含型別陣列 (C# 程式設計手冊)

範例

下列範例顯示如何在需要時於一般情況中使用 var 關鍵字:當您建立並執行會產生匿名型別序列的查詢運算式時。請注意,在此情況中,不只查詢變數,foreach 陳述式中的反覆運算變數也必須使用 var 進行隱含型別處理。

private static void QueryNames(char firstLetter)
{
    // Create the query. var is required because
    // the query produces a sequence of anonymous types.
    var studentQuery =
        from student in students
        where student.FirstName[0] == firstLetter
        select new { student.FirstName, student.LastName };

    // Execute the query.
    foreach (var student in studentQuery)
    {
        Console.WriteLine("First = {0}, Last = {1}", student.FirstName, student.LastName);
    }
}

本主題稍後的範例會顯示如何使用 var 關鍵字做為語法上便於使用的工具,即使不需要也如此。若要說明此建構函式,只有查詢變數可以是隱含型別。foreach 陳述式中的反覆運算變數是明確型別,但是也可以使用 var 進行宣告。請記住,var 本身不是型別,而是讓編譯器推斷及指派型別的指示。

var queryID =
    from student in students
    where student.ID > 111
    select student.LastName;

foreach (string str in queryID)
{
    Console.WriteLine(str);
}

請參閱

概念

C# 程式設計手冊

LINQ 查詢運算式 (C# 程式設計手冊)

參考

擴充方法 (C# 程式設計手冊)

var (C# 參考)

其他資源

Language-Integrated Query (LINQ)