What does "ToList" do?

C

Curious

If I have the following code:

List<DataRow> trsTrades = selected.ToList();

What does ToList do? Does it copy all of the items in trsTrades, or
does it create a list containing just pointers (to their corresponding
items in the original list, trsTrades)?

Thanks,
 
M

MarkusSchaber

Hi,

If I have the following code:

List<DataRow> trsTrades = selected.ToList();

What does ToList do? Does it copy all of the items in trsTrades, or
does it create a list containing just pointers (to their corresponding
items in the original list, trsTrades)?

Strictly speaking, neither. If DataRow is a struct, it will be copied.
If it is a class or interface, it will create a List and add the
references to the datarows to it. No pointers involved here (and
that's good, you should think twice before using unsafe code in any
place but interfacing native libraries).
 
C

Curious

Hi,





Strictly speaking, neither. If DataRow is a struct, it will be copied.
If it is a class or interface, it will create a List and add the
references to the datarows to it. No pointers involved here (and
that's good, you should think twice before using unsafe code in any
place but interfacing native libraries).

Thanks! This is helpful
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top