Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Pokud platí obě tyto podmínky, použijte anonymní typ ve výrazu dotazu:
Chcete vrátit pouze některé vlastnosti každého zdrojového prvku.
Výsledky dotazu nemusíte ukládat mimo rozsah metody, ve které se dotaz spouští.
Pokud chcete vrátit pouze jednu vlastnost nebo pole z každého zdrojového prvku, stačí použít tečkový operátor v klauzuli select . Pokud například chcete vrátit pouze ID každou z nich student, napište klauzuli select následujícím způsobem:
select student.ID;
Příklad
Následující příklad ukazuje, jak použít anonymní typ k vrácení pouze podmnožinu vlastností každého zdrojového prvku, který odpovídá zadané podmínce.
private static void QueryByScore()
{
// Create the query. var is required because
// the query produces a sequence of anonymous types.
var queryHighScores =
from student in students
where student.ExamScores[0] > 95
select new { student.FirstName, student.LastName };
// Execute the query.
foreach (var obj in queryHighScores)
{
// The anonymous type's properties were not named. Therefore
// they have the same names as the Student properties.
Console.WriteLine(obj.FirstName + ", " + obj.LastName);
}
}
/* Output:
Adams, Terry
Fakhouri, Fadi
Garcia, Cesar
Omelchenko, Svetlana
Zabokritski, Eugene
*/
Všimněte si, že anonymní typ používá názvy zdrojových elementů pro jeho vlastnosti, pokud nejsou zadány žádné názvy. Chcete-li dát novým názvům vlastnosti v anonymním typu, napište select příkaz následujícím způsobem:
select new { First = student.FirstName, Last = student.LastName };
Pokud to zkusíte v předchozím příkladu, Console.WriteLine příkaz se musí také změnit:
Console.WriteLine(student.First + " " + student.Last);
Probíhá kompilace kódu
Chcete-li spustit tento kód, zkopírujte a vložte třídu do konzolové aplikace jazyka C# s direktivou using pro System.Linq.