|
|
Browse by Tags
All Tags » .NET3.5 » LINQ (RSS)
-
Na minha última entrada apresentei o PredicateEqualityComparer e um método de extensão Distinct recebe um predicado e cria internamente um PredicateEqualityComparer para filtrar elementos. Usar o predicado melhora a legibilidade, concisão e expressividade das consultas, mas ainda pode ser melhor. Na maioria dos casos, não queremos providenciar ...
-
Hoje estava a escrever um consulta LINQ e necessitava de seleccionar valores distintos baseado num determinado critério de comparação. Felizmente, o método Distinct do LINQ permite fornecer um comparador de igualdade, mas, infelizmente, muitas vezes implica escrever um comparador específico para a ocasião. Porque ia necessitar de mais que um ...
-
Tal como outros métodos da API do LINQ que extraem valores escalares de sequências, o Single tem um correspondente SingleOrDefault.
A documentação de SingleOrDefault diz que retorna um único e específico elemento de um sequência de valores, ou um valor por omissão se tal elemento não exisitir, although, in my opinion, it should state that it ...
-
Já presenciei e estive envolvido em algumas discussões acerca da correcção e utilidade do método Single na API do LINQ. O argumento mais comum é que se está a pedir o primeiro elemento de um conjunto e que será lançada uma excepção se existir mais que um elemento nesse conjunto. Em vez disso, deveria ser usado o método First. Apesar da ...
-
Hoje, o meu amigo Nuno estava a escrever algum código para obter as PropertyInfos da implementação de uma interface por parte de classe. Dada este interface: public interface ISomeInterface
{
int IntProperty { get; set; }
string StringProperty { get; }
void Method();
}
e esta classe:
public class SomeClass : ...
-
O Visual Studio usa a ferramenta Publicize para criar acessores públicos para membros e tipos privados de um determinado tipo. Mas quando se tenta definir o valor de um elemento de um array privado de elementos de um tipo privado, a situação complica-se. Imagine-se este hipotética classe a testar: public static class MyClass
{
private ...
|
|
|