Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

C# Strongly typed list

Posted on 2009-05-19
4
Medium Priority
?
591 Views
Last Modified: 2013-12-17
Can anybody tell me what a strongly typed list is.

I am using C#

Thanks
0
Comment
Question by:Mr_Shaw
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
4 Comments
 
LVL 27

Assisted Solution

by:Shaun Kline
Shaun Kline earned 600 total points
ID: 24421001
A strongly typed list is a list where the items have a specific type. As an example, List<string> is a list of string items.
0
 
LVL 39

Accepted Solution

by:
abel earned 1400 total points
ID: 24421104
I second the answer provided by Shaun_Kline.

In older .NET enumerators and lists that needed to grab every possible type (a list for string, integers, boats or holidayhomes)  the only option was to use the object datatype as the base type, as that's the guaranteed base type for every class. The problem with this approach is that you would need to cast the elements back and forth and you loose your type safety (which is where the compiler warns you when you try to use a string as if it is an integer, more generic, whenever you assign on object to one of the wrong type).

Since .NET 2.0 we have generics. The syntax takes a little of getting used to. But once you understand it, it will make a lot of coding a lot easier and, more importantly, a lot safer to write and maintain. Many errors will be caught early and IntelliSense can help you with using the correct methods.
0
 
LVL 39

Assisted Solution

by:abel
abel earned 1400 total points
ID: 24421167
Initializing and using a list is a breeze. For instance, to compare old and new:

List<string> listOfStrings = new List<string>();
listOfString.Add("new string to add");     // IntelliSense will tell you what to add here
 
List<DateTime> listOfDates = new List<DateTime>();
listOfDates.Add(DateTime.Now);
 
listOfDates.Add("10-24-2008");    // strong typing: this will raise an error
 
// old way:
IList listOfSomething = new ArrayList();
listOfSomething.Add("some sttring");    // no IntelliSense help
listOfSomething.Add(DateTime.Now);      // no IntelliSense help
 
// error after running code "Cannot convert DateTime to string"
// will not be visible during write/compiletime
string someString = listOfSomething[1]; 

Open in new window

0
 

Author Closing Comment

by:Mr_Shaw
ID: 31582950
Thanks
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Question has a verified solution.

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

Although it can be difficult to imagine, someday your child will have a career of his or her own. He or she will likely start a family, buy a home and start having their own children. So, while being a kid is still extremely important, it’s also …
Make the most of your online learning experience.
An introduction to basic programming syntax in Java by creating a simple program. Viewers can follow the tutorial as they create their first class in Java. Definitions and explanations about each element are given to help prepare viewers for future …
Six Sigma Control Plans

721 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