Как выбрать первую строку в инструкции выбора linq без использования foreach?LINQ SELECT FIRST ROW
Я использую foreach, а затем ломаю; но это должен быть лучший способ?
Мне нравится получать значение в первой строке; плюс проверьте, не найден ли строка. Моя проблема - получить значение без инструкции foreach.
Что я могу сделать, это найти значение в моем DataTable, и я знаю, что строка uniqe; поэтому мне нравится делать выбор и получать значение; плюс сделать чек, если нет хита, чтобы быть безопасными ... :)
Это код, который я использую сейчас, смотрите ниже
Спасибо, руны
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;
}
Я не считаю, что проверка нулевой будет когда-нибудь оказаться что-либо до тех пор, как вы используете FirstOrDefault , Я верю, что вы хотите. Сначала(). –
.First() выбрасывает и исключает, когда ничего не возвращается, а FirstOrDefault() возвращает значение null (в каждой ситуации, которую я видел. –
@ David Hall - это правильно. Используйте .First(), если вы ожидаете, что всегда должно быть одно или больше записей, так что вы получите исключение, если это не произойдет. Если вы ожидаете возможности отсутствия записей, используйте .FirstOrDefault() и проверьте нуль и обрабатывайте соответственно. –