spankyleo123 Ответов: 1

Добавьте значения последовательных элементов списка в другой объект и верните его


Привет Ребята,

Буду признателен, если вы поможете мне в моем запросе ниже. Я хочу добавить значения последовательных элементов списка в другой объект и повторно настроить список этого объекта.
var books = db.Books.Where(x => x.MembershipId == membershipId).ToList().orderBy(x=> x.BookName);

The above returns the following list items 

books[0] :  BookName: MyBookName1
            BookType: New Book
            Value   : Value1

books[1] :  BookName: MyBookName2
            BookType: New Book2
            Value   : Value2

books[2] :  BookName: MyBookName3
            BookType: old Book 3
            Value   : Value3

books[3] :  BookName: MyBookName 4
            BookType: New book 4
            Value   : Value4

I would like to store consecutive list values in 'Value' into another object like 

MyObject.Name   : Value1 (from books[0])
MyObject.Status : Value2 (from books[1])

MyObject.Name  : Value3   (from books[3])
MyObject.Status: Value4   (from books[4])


And eventually i would like to return a list of the new object ie.

Myobject[0] :  Name : Value1
               Status : Value2

MyObject[1] :  Name : Value3
               Status: Value4 


Any pointers would be appreciated. Many thanks for your help.


Что я уже пробовал:

Еще не пробовал кодировать. Любые указания будут оценены по достоинству.

BillWoodruff

Не имеет смысла совмещать название одной книги со статусом другой книги.

1 Ответов

Рейтинг:
0

Karthik_Mahalingam

Попробовать это

Создайте класс с 2 свойствами

Public class MyClass
{
Public string Name {get; set;}
Public string Status {get; set;}
} 

Повторите список книг (с шагом 2), чтобы сохранить свойство Value в имени и статусе, как показано ниже
List<MyClass> lst = new List<MyClass>();
For( int I =O; I< books.Count; I=I+2)
{
  String name = books [I].Value;
  String Status= (I+1) < books.Count ? Books[I+1].Value : "";
MyClass obj = new MyClass ();
Obj.Name = name;
Obj.Status = Status;
Lst.Add(obj);

}
Return lst;

Я еще не скомпилировал этот код, позаботьтесь о опечатке, размещенной через мобильный телефон