2015-10-01 2 views
1

Таблицы [1], имеющие список значений.Как перебирать значения данных без использования for или foreach, а затем добавлять значения списка в список?

if (ds.Tables[1].Rows.Count > 0) 
{ 
    // How to loop through datatable values without using for or foreach loop and then list values add to List?// 


    testRetrieveResponse.testList.Add();- how to add values to list 

} 
+1

Что случилось с 'foreach'? –

+0

Какой параметр для добавления? – Imad

+1

testList = new FacilityInfo(); testList.FacilityId = Convert.ToInt32 (строка ["FACILITY_ID"]); testList.FacilityName = Convert.ToString (строка ["FACILITY"]); testRetrieveResponse.testList.Add (testList); – Muthu

ответ

2

Вы можете использовать DataTable.AsEnumerable

List<DataRow> list = ds.Tables[1].AsEnumerable().ToList(); 

ИЛИ, если вы хотите создать список некоторого типа, то вы можете использовать Выбрать и сделать объекты вашего типа.

List<DataRow> list = ds.Tables[1].AsEnumerable() 
        .Select(a => new YourType { Prop1 = a.Field<string>("Prop1")}).ToList(); 
+1

Я думаю, что OP ищет 'List ' Где T - любой пользовательский объект. –

+1

Возможно, для этого может быть выбран. – Adil

1

Один из способов сделать это было бы Enumerable.Cast каждый элемент в DataRow, затем проецировать новый тип элемента с Enumerable.Select:

var customTypes = ds.Tables[1] 
        .Rows 
        .Cast<DataRow>() 
        .Select(row => new SomeType { Id = row["Id"] }) 
        .ToList(); 

 Смежные вопросы

  • Нет связанных вопросов^_^