Solved

Passing User data around: objects vs List<> vs your choice?

Posted on 2013-06-14
8
426 Views
Last Modified: 2013-06-15
Is it a good idea to assign values from the User Interface to an object, and then pass the object on to where it is required (or store it somewhere), or would adding it to a List<> be better, since I assume it would not be as "heavy" to pass around? Of cause it depends on the needs and requirements as to which approach to use, but in which types of scenarios  (user data) would you use objects, and in which would you use List<>, or other? Why?
0
Comment
Question by:userTester
  • 4
  • 3
8 Comments
 
LVL 83

Accepted Solution

by:
CodeCruiser earned 375 total points
ID: 39249906
Objects can have any number of properties of any type where as a list can have only values of same type. Objects that you create yourself only have the properties and methods that you define where as list classes have a lot of predefined properties, methods, events etc and may be inheriting from 10 other classes or implementing 10 other interfaces. So if efficiency is the goal then object would be the choice. It is a common practice to use DTO objects to transfer information between different parts of an application.
0
 
LVL 75

Assisted Solution

by:käµfm³d 👽
käµfm³d   👽 earned 125 total points
ID: 39249985
Why would a List<> be any less heavy than another object? Only references are passed around when dealing with objects (which a List<> is, btw. Everything in .NET is an object!!).
0
 

Author Comment

by:userTester
ID: 39250643
Thanks to both comments.

The reason I say a list would be less-heavy is because lists can be created to only contain the required data that is needed for a specific purpose, while and object might also have data that is not needed in certain circumstances, so the extra data is passed around despite not being needed in all circumstances.

Please correct me if I have this incorrect:
If I use List<string> then the string data is all that I am passing around, but if I used List<MyObject>, then I would be passing a list of custom objects around.

Do you have a simple DTO example I can quickly run through?
0
 
LVL 83

Assisted Solution

by:CodeCruiser
CodeCruiser earned 375 total points
ID: 39250648
DTO would involve creating your own class and passing it around.

It also depends on your requirements though. Do you only need to pass strings around?
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 

Author Comment

by:userTester
ID: 39250662
I like the idea of custom objects, but yes, strings are the idea here. Are you suggesting using List<string> in this case?
0
 
LVL 83

Assisted Solution

by:CodeCruiser
CodeCruiser earned 375 total points
ID: 39250680
We don't know what information you need to pass around. If it is employee information then it would make sense to use an employee class. If its a few (or more) strings then list of string would make sense.
0
 

Author Comment

by:userTester
ID: 39250700
That's fine, just needed your take on the use of lists vs objects.
0
 

Author Closing Comment

by:userTester
ID: 39250722
Thanks for answering my questions, appreciate it.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
Performance in games development is paramount: every microsecond counts to be able to do everything in less than 33ms (aiming at 16ms). C# foreach statement is one of the worst performance killers, and here I explain why.
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.
You have products, that come in variants and want to set different prices for them? Watch this micro tutorial that describes how to configure prices for Magento super attributes. Assigning simple products to configurable: We assigned simple products…

919 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now