Unlike arrays, the List collection type resizes dynamically.  If you are working with data where you would need to be resizing an array a lot then use a list instead.  It is ideal for linear collections that you don't need to adjust using an index.

Good resources

http://www.dotnetperls.com/list

You need this namespace

using System.Collections.Generic;

Declaring


	List<byte> LogEvents = new List<byte>();
	//or for a class:
	List<LogEventClass> LogEvents = new List<LogEventClass>();

Adding Objects


	LogEventClass LogEvent1 = new LogEventClass();
	LogEvents.Add(LogEvent1);
Add Array

	LogEvents.AddRange(System.Text.Encoding.UTF8.GetBytes(NameText));

Removing Objects

Find the object index then


	LogEvents.RemoveAt(Index);

There is also RemoveRange or just Remove where you specify an exact match for it to find and remove.

Total Number Of Objects In A List


	for (Count = 0; Count < LogEvents.Count; Count++)
	{

Reading A List Item

Use an index as with an array.


	SomeVariable = LogEvents[Index];

Working Through A List


	for each (LogEventClass LogEvent in LogEvents)
	{
	}

Clear A List


	LogEvents.Clear();

Convert List To An Array

Use .ToArray();

Copy An Array To A List


	List<LogEventClass> LogEvents = new List<LogEventClass>(SomeArray);

 

USEFUL?
We benefit hugely from resources on the web so we decided we should try and give back some of our knowledge and resources to the community by opening up many of our company’s internal notes and libraries through mini sites like this. We hope you find the site helpful.
Please feel free to comment if you can add help to this page or point out issues and solutions you have found, but please note that we do not provide support on this site. If you need help with a problem please use one of the many online forums.