epicours/Prog/Collections.md

1.6 KiB

System Collections

We have 3 collections namespace in C#

  • System.Collections
    • Store items as Object
    • ArrayList
    • Queue
    • Stack
    • Hashtable
  • System.Collections.Generic
    • Using Generics to specify one data type
    • List
    • Queue
    • Stack
    • Dictionary<TKey,TValue>
  • System.Collections.Concurrent
    • As previous bu thread safe

Live coding - List

namespace Lecture;
public static class Program {
	public static void Main() {
		var myList = new List<int>();
		myList.Add(12);
		myList.Add(23);
		myList.Add(122);
		myList.Add(312);
		myList.Add(142);
		
		myList[4] = 1;
		
		int a = myList[5];
		
		Console.WriteLine($"{myList}"); // Will return the type of the list and the value
		Console.WriteLine(a); // Will return the value a (myList[5])
		foreach (var element in myList) {
			Console.WriteLine($"{element}");
		} // Will display each element of the list
		myList.ForEach(x => Console.WriteLine($"{x}")); // Same thing that foreach bellow
		
		var t = myList.GetRange(3, 2);
		t.ForEach(x => Console.WriteLine($"{x}"));
		myList.sort();
		myList.
	}

}

Live coding - Dictionary

namespace Lecture;
public static class Program {
	public static void Main() {
		var dict = Dictionary<int, string>();
		dict.Add(3, "tree");
		dict.Add(9, "nine");
		dict[9] = "nine";
		dict[4] = "four";
		dict.Add(4, "quatre"); // Raise an exception because key 4 exists
		Console.WriteLine($"{dict[4]}"); // Return four
		foreach (var kv in dict) {
			Console.WriteLine($"dict[{kv.Key}] == {key.value}");
		}
	
	}

}