Perguntas com a marcação «linq»

160
Como funciona a seguinte instrução LINQ?

Como funciona a seguinte instrução LINQ ? Aqui está o meu código: var list = new List<int>{1,2,4,5,6}; var even = list.Where(m => m%2 == 0); list.Add(8); foreach (var i in even) { Console.WriteLine(i); } Resultado: 2, 4, 6, 8 Por que não 2, 4,

155
Qual é o objetivo da pesquisa <TKey, TElement>?

O MSDN explica a Pesquisa assim: A se Lookup<TKey, TElement> assemelha a Dictionary<TKey, TValue>. A diferença é que um Dictionary <TKey, TValue> mapeia chaves para valores únicos, enquanto uma Lookup <TKey, TElement> mapeia chaves para coleções de valores. Não acho...

150
Classifique uma lista de outros IDs de lista

Eu tenho uma lista com alguns identificadores como este: List<long> docIds = new List<long>() { 6, 1, 4, 7, 2 }; Além disso, tenho outra lista de <T>itens, representados pelos IDs descritos acima. List<T> docs = GetDocsFromDb(...) Preciso manter a mesma ordem nas duas...

145
Por que o Where e o Select superam apenas o Select?

Eu tenho uma classe, assim: public class MyClass { public int Value { get; set; } public bool IsValid { get; set; } } Na verdade, é muito maior, mas isso recria o problema (esquisitice). Eu quero obter a soma do Value, onde a instância é válida. Até agora, encontrei duas soluções para isso. O...

142
FirstOrDefault: valor padrão diferente de null

Pelo que entendi, no Linq o método FirstOrDefault()pode retornar um Defaultvalor de algo diferente de nulo. O que ainda não descobri é que tipo de coisa diferente de nulo pode ser retornada por esse método (e semelhante) quando não há itens no resultado da consulta. Existe alguma maneira específica...

141
Obter propriedade "Value" no IGrouping

Eu tenho uma estrutura de dados como public DespatchGroup(DateTime despatchDate, List<Products> products); E eu estou tentando fazer ... var list = new List<DespatchGroup>(); foreach (var group in dc.GetDespatchedProducts().GroupBy(i => i.DespatchDate)) { // group.Values is not...

140
União externa esquerda LINQ to SQL

Essa consulta é equivalente a uma LEFT OUTERassociação? //assuming that I have a parameter named 'invoiceId' of type int from c in SupportCases let invoice = c.Invoices.FirstOrDefault(i=> i.Id == invoiceId) where (invoiceId == 0 || invoice != null) select new { Id = c.Id , InvoiceId =...