Рейтинг:
14
Karthik_Mahalingam
int id = 2;
var item = lstData.FirstOrDefault(k => k.ID == id);
if (item != null)
{
// use the Item object to read the properties.
// your code here...
}
Его всегда лучше использовать
FirstOrDefault
вместо
single
, если вы собираетесь искать
primary key value
тогда мы можем использовать
singleordefault
если мы сомневаемся, что дубликаты записей могут содержать, то мы можем пойти на
FirstOrDefault
.
DataRow drr = dt.AsEnumerable().Where(dr => dr["P"] == id).First();
var index = dt.Rows.IndexOf(drr);
amit_83
Спасибо, я хочу получить индекс отображения строки в datatable.
Karthik_Mahalingam
можете ли вы предоставить дополнительную информацию?
amit_83
Строкаданных СРБ = ДТ.Методом asenumerable().Где(д-р =&ГТ; доктор.Поле&ЛТ;идентификатор&ГТ;("П") == ИД)
.Выберите(д-р =&ГТ; д).Первый();
Вместо того чтобы получать строку, я хочу знать индекс строки. Можно ли получить индекс строки в таблице непосредственно из LINQ?
Karthik_Mahalingam
проверьте мое обновленное решение..
amit_83
Я уже знаю это, его 2-ступенчатый процесс, влияет ли он на производительность?
Karthik_Mahalingam
тогда у работает зайти в DataTable фильтр, а не по LINQ...
Karthik_Mahalingam
попробуй вот так
DataRow[] rows = dt.Select("p = 2");
SarveshShukla
Это даст вам удостоверение личности
var x = dt.Методом asenumerable().Где(dr => dr.Field("P") == id)
.Выберите(dr => dr.id).во-первых();