Last active
October 18, 2021 16:59
-
-
Save onlyforbopi/8a5569eeec58e2adcfc31d1f201c3484 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Accessing a List | |
//A list can be accessed by an index, a for/foreach loop, and using LINQ queries. Indexes of a list start from zero. Pass an index in the square brackets to access individual list items, same as array. Use a foreach or for loop to iterate a List<T> collection. | |
//Example: Accessing List | |
List<int> numbers = new List<int>() { 1, 2, 5, 7, 8, 10 }; | |
Console.WriteLine(numbers[0]); // prints 1 | |
Console.WriteLine(numbers[1]); // prints 2 | |
Console.WriteLine(numbers[2]); // prints 5 | |
Console.WriteLine(numbers[3]); // prints 7 | |
// using foreach LINQ method | |
numbers.ForEach(num => Console.WriteLine(num + ", "));//prints 1, 2, 5, 7, 8, 10, | |
// using for loop | |
for(int i = 0; i < numbers.Count; i++) | |
Console.WriteLine(numbers[i]); | |
//Accessing a List using LINQ | |
//The List<T> implements the IEnumerable interface. So, we can query a list using LINQ query syntax or method syntax, as shown below. | |
//Example: LINQ Query on List | |
var students = new List<Student>() { | |
new Student(){ Id = 1, Name="Bill"}, | |
new Student(){ Id = 2, Name="Steve"}, | |
new Student(){ Id = 3, Name="Ram"}, | |
new Student(){ Id = 4, Name="Abdul"} | |
}; | |
//get all students whose name is Bill | |
var result = from s in students | |
where s.Name == "Bill" | |
select s; | |
foreach(var student in result) | |
Console.WriteLine(student.Id + ", " + student.Name); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Adding an Array in a List | |
//Use the AddRange() method to add all the elements from an array or another collection to List. | |
AddRange() signature: void AddRange(IEnumerable<T> collection) | |
//Example: Add Arrays in List | |
string[] cities = new string[3]{ "Mumbai", "London", "New York" }; | |
var popularCities = new List<string>(); | |
// adding an array in a List | |
popularCities.AddRange(cities); | |
var favouriteCities = new List<string>(); | |
// adding a List | |
favouriteCities.AddRange(popularCities); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//C# - List<T> | |
//The List<T> is a collection of strongly typed objects that can be accessed by index and having methods for sorting, searching, and modifying list. It is the generic version of the ArrayList that comes under System.Collection.Generic namespace. | |
//List<T> Characteristics | |
//List<T> equivalent of the ArrayList, which implements IList<T>. | |
//It comes under System.Collections.Generic namespace. | |
//List<T> can contain elements of the specified type. It provides compile-time type checking and doesn't perform boxing-unboxing because it is generic. | |
//Elements can be added using the Add(), AddRange() methods or collection-initializer syntax. | |
//Elements can be accessed by passing an index e.g. myList[0]. Indexes start from zero. | |
//List<T> performs faster and less error-prone than the ArrayList. | |
//Creating a List | |
//The List<T> is a generic collection, so you need to specify a type parameter for the type of data it can store. The following example shows how to create list and add elements. | |
//Example: Adding elements in List | |
List<int> primeNumbers = new List<int>(); | |
primeNumbers.Add(1); // adding elements using add() method | |
primeNumbers.Add(3); | |
primeNumbers.Add(5); | |
primeNumbers.Add(7); | |
var cities = new List<string>(); | |
cities.Add("New York"); | |
cities.Add("London"); | |
cities.Add("Mumbai"); | |
cities.Add("Chicago"); | |
cities.Add(null);// nulls are allowed for reference type list | |
//adding elements using collection-initializer syntax | |
var bigCities = new List<string>() | |
{ | |
"New York", | |
"London", | |
"Mumbai", | |
"Chicago" | |
}; | |
//In the above example, List<int> primeNumbers = new List<int>(); creates a list of int type. In the same way, cities and bigCities are string type list. You can then add elements in a list using the Add() method or the collection-initializer syntax. | |
//You can also add elements of the custom classes using the collection-initializer syntax. The following adds objects of the Student class in the List<Student>. | |
//Example: Add Custom Class Objects in List | |
var students = new List<Student>() { | |
new Student(){ Id = 1, Name="Bill"}, | |
new Student(){ Id = 2, Name="Steve"}, | |
new Student(){ Id = 3, Name="Ram"}, | |
new Student(){ Id = 4, Name="Abdul"} | |
}; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Check Elements in List | |
Use the Contains() method to determine whether an element is in the List<T> or not. | |
Example: Contains() | |
var numbers = new List<int>(){ 10, 20, 30, 40 }; | |
numbers.Contains(10); // returns true | |
numbers.Contains(11); // returns false | |
numbers.Contains(20); // returns true |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Insert Elements in List | |
Use the Insert() method inserts an element into the List<T> collection at the specified index. | |
Insert() signature:void Insert(int index, T item); | |
Example: Insert elements into List | |
var numbers = new List<int>(){ 10, 20, 30, 40 }; | |
numbers.Insert(1, 11);// inserts 11 at 1st index: after 10. | |
foreach (var num in numbers) | |
Console.Write(num); | |
Remove Elements from List | |
Use the Remove() method to remove the first occurrence of the specified element in the List<T> collection. Use the RemoveAt() method to remove an element from the specified index. If no element at the specified index, then the ArgumentOutOfRangeException will be thrown. | |
Remove() signature: bool Remove(T item) | |
RemoveAt() signature: void RemoveAt(int index) | |
Example: Remove elements from List | |
var numbers = new List<int>(){ 10, 20, 30, 40, 10 }; | |
numbers.Remove(10); // removes the first 10 from a list | |
numbers.RemoveAt(2); //removes the 3rd element (index starts from 0) | |
//numbers.RemoveAt(10); //throws ArgumentOutOfRangeException | |
foreach (var el in intList) | |
Console.Write(el); //prints 20 30 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment