¿Cómo puedo seleccionar la primera fila en una declaración de selección linq sin utilizar foreach?LINQ SELECCIONE PRIMERA FILA
Uso foreach y luego me rompo; pero tiene que ser una mejor manera?
Me gusta obtener el valor en la primera fila; Además, compruebe si no se encuentra ninguna fila. Mi problema es obtener el valor sin declaración foreach.
Lo que hago es encontrar un valor en mi DataTable y sé que la fila es única; entonces me gusta hacer una selección y obtener el valor; además de hacer una verificación si no hay éxito para estar seguro ... :)
Este es el código que uso ahora, ver a continuación
Gracias, runa
var var_QUERY_linq =
from vm_TABLE_PK in vco_DataTable_PK.AsEnumerable()
where vm_TABLE_PK.Field<Int32>("MyField_Int32") == vmp_ROW_Counter_Int32
select vm_TABLE_PK;
foreach (DataRow o_DataRow in var_QUERY_linq)
{
vmp_Return_string = o_DataRow.Field<string>("Myfield_nvarchar");
break;
}
yo no creen que el cheque nulo nunca dará vuelta encima de cualquier cosa, siempre y cuando se utilice FirstOrDefault . Creo que lo que quieres es .Primero() en su lugar. –
.Primero() arroja una excepción cuando no se devuelve nada, mientras que FirstOrDefault() devuelve un valor nulo (en cada situación que he visto. –
@David Hall tiene razón. Use .First() si espera que siempre haya uno o más registros para que obtenga una excepción si no ocurre. Si está esperando la posibilidad de que no haya registros, use .FirstOrDefault() y verifique null y maneje apropiadamente. –