Me gusta mucho el sonido de este ElementAtOrDefaultOperator para usar con listas genéricas, pero no puedo entender cómo definir un tipo predeterminado para mi lista de objetos. Por lo que entiendo, el valor por defecto será nulo si tengo una lista de objetos como la siguiente, pero me gustaría devolver mi propia versión de un objeto predeterminado con los valores adecuados. Esto es lo que quiero decir:LINQ Cómo definir un tipo predeterminado para usar con ElementAtOrDefault Operador
ClassA {
string fieldA;
string fieldB;
ClassB fieldC;
//constructor
}
List<ClassA> myObjects = new List<ClassA>();
myObjects.Add(//new object)
myObjects.Add(//new object)
por lo que quiero ser capaz de hacer lo siguiente:
ClassA newObject = myObjects.ElementAtOrDefault(3);
Y tienen newObject ser un tipo predeterminado de claseA que defino en alguna parte. Pensé que podría haber un SetDefaultElement u otro método, pero no creo que exista.
¿Alguna idea?
Una sobrecarga apropiada podría volver predeterminado (T) como en la puesta en práctica de LINQ. – user7116
@sixlettervariables - pero eso ya existe en el operador LINQ estándar no sobrecargado ... –
Realmente me pregunto por qué ya no es parte del framework. Es trivial, pero no quiero agregar clases de extensión a proyectos heredados solo por esta sobrecarga. –