Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este exemplo mostra como tratar os possíveis valores nulo em coleções de fonte.Uma coleção de objetos, sistema autônomo um IEnumerable<T> podem conter elementos cujo valor é nulo.Se uma coleção de fonte é nula ou contiver um elemento cujo valor é nulo e sua consulta não processa valores nulos, um NullReferenceException será gerada quando você executa a consulta.
Exemplo
Você pode codificar defensively para evitar um nulo exceção de referência, conforme mostrado no exemplo a seguir:
var query1 =
from c in categories
where c != null
join p in products on c.ID equals
(p == null ? null : p.CategoryID)
select new { Category = c.Name, Name = p.Name };
No exemplo anterior, a where cláusula filtra todos os elementos nulo na sequência de categorias. Essa técnica é independente da verificação de nula na cláusula de unir.A expressão condicional com nulo neste exemplo funciona porque Products.CategoryID é do tipo int? qual é a forma abreviada de Nullable<int>.
Em uma cláusula de unir, se houver apenas uma das teclas de comparação de um tipo de valor nulo, você pode usar o Outros para um tipo que permite valor nulo na expressão de consulta.O exemplo a seguir, suponha que EmployeeID é uma coluna que contém valores de tipo int?:
void TestMethod(Northwind db)
{
var query =
from o in db.Orders
join e in db.Employees
on o.EmployeeID equals (int?)e.EmployeeID
select new { o.OrderID, e.FirstName };
}
Consulte também
Tarefas
Conceitos
Expressões de consulta do LINQ (guia de programação translation from VPE for Csharp)