I got an anonymous type inside a List anBook:
var anBook=new []{
new {Code=10, Book ="Harry Potter"},
new {Code=11, Book="James Bond"}
};
Is to possible to convert it to a List with the following definition of clearBook:
public class ClearBook
{
int Code;
string Book;
}
by using direct conversion, i.e., without looping through anBook?
Well, you could use:
var list = anBook.Select(x => new ClearBook {
Code = x.Code, Book = x.Book}).ToList();
but no, there is no direct conversion support. Obviously you'll need to add accessors, etc. (don't make the fields public) - I'd guess:
public int Code { get; set; }
public string Book { get; set; }
Of course, the other option is to start with the data how you want it:
var list = new List<ClearBook> {
new ClearBook { Code=10, Book="Harry Potter" },
new ClearBook { Code=11, Book="James Bond" }
};
There are also things you could do to map the data with reflection (perhaps using an Expression
to compile and cache the strategy), but it probably isn't worth it.