Articles of c # 3.0

Como obter o índice usando o LINQ?

Dada uma fonte de dados como essa: var c = new Car[] { new Car{ Color=”Blue”, Price=28000}, new Car{ Color=”Red”, Price=54000}, new Car{ Color=”Pink”, Price=9999}, // .. }; Como posso encontrar o índice do primeiro carro que satisfaz uma determinada condição com o LINQ? EDITAR: Eu poderia pensar em algo assim, mas parece horrível: int […]

Implementar Tempo Limite Genérico C #

Eu estou procurando boas idéias para implementar uma maneira genérica de ter uma única linha (ou delegado anônimo) de código executar com um tempo limite. TemperamentalClass tc = new TemperamentalClass(); tc.DoSomething(); // normally runs in 30 sec. Want to error at 1 min Eu estou procurando uma solução que possa ser elegantemente implementada em muitos […]

Distinto () com lambda?

Certo, então eu tenho um enumerável e desejo obter valores distintos dele. Usando o System.Linq , é claro que existe um método de extensão chamado Distinct . No caso simples, ele pode ser usado sem parâmetros, como: var distinctValues = myStringList.Distinct(); Muito bem, mas se eu tenho um enumerável de objects para os quais eu […]

Expressões C # Lambda: Por que devo usá-las?

Eu li rapidamente a documentação do Microsoft Lambda Expression . Esse tipo de exemplo me ajudou a entender melhor, no entanto: delegate int del(int i); del myDelegate = x => x * x; int j = myDelegate(5); //j = 25 Ainda assim, não entendo porque é uma inovação dessas. É apenas um método que morre […]

Obtendo todos os tipos que implementam uma interface

Usando reflection, como posso obter todos os tipos que implementam uma interface com o C # 3.0 / .NET 3.5 com o mínimo de código e minimizar as iterações? Isto é o que eu quero rewrite: foreach (Type t in this.GetType().Assembly.GetTypes()) if (t is IMyInterface) ; //do stuff

Diferença entre propriedade e campo no c # 3.0 +

Eu percebo que parece ser uma duplicata de Qual é a diferença entre um campo e uma propriedade em c #? mas a minha pergunta tem uma ligeira diferença (do meu ponto de vista): Uma vez eu sei que Eu não usarei minha class com “técnicas que só funcionam em propriedades” e Eu não vou […]