Lambdas
A lambda expression is an expression that returns a method. Very useful for searching
arrays/objects.
Here is a useful piece of code to select files from a directory that is over a certain
number of days.
var files = Directory.GetFiles(path).Select(file => new FileInfo(file)).Where
(file => file.LastWriteTime < DateTime.Now.AddDays(-1* _numberOfDaysBeforeDelete)).ToList();
and here is how we can simply remove the above files
files.ForEach(file => file.Delete());
SELECT
Code here creates a list of integers and uses the List method fo FindIndex to find
integers that do not have a modulus of 2. The lambda expression returns a method
of oddIndex.
List<int> elements = new List<int>() { 10, 20, 31, 40 };
// ... Find index of first odd element.
int oddIndex = elements.FindIndex(x => x % 2 != 0);
Console.WriteLine(oddIndex);
Returns 31
FUNCTION
Starts with “FUNC”, include parameters and return type
function name “AddVat”, “=”,
input parameters (x, y),
lambda code “=>”
function code “x * ( 1 + (y / 100));
Console.WriteLine(“Cost + Vat = {AddVat(55,20)});
Func
lstPeople.Items.Add(AddVat(55, 20));
Returns 66.
ACTION
An action does not return anything. It can have parameters.
Action value = () => Console.WriteLine("Hi, friend");
value.Invoke();
DELEGATE
Used for anonymous functions.
Func<int, int> test1 = delegate (int x) { return x + 1; };
Console.WriteLine(test1.Invoke(10));
LISTS
Constructors
List<T>()
Initializes a new instance of the List<T> class that is empty and has the default
initial capacity.
List<T>(IEnumerable<T>)
Initializes a new instance of the List<T> class that contains elements copied
from the specified collection and has sufficient capacity to accommodate the
number of elements copied.
List<T>(Int32)
Initializes a new instance of the List<T> class that is empty and has the
specified initial capacity.
Properties
Capacity
Gets or sets the total number of elements the internal data structure can hold
without resizing.
Count
Gets the number of elements contained in the List<T>.
Item[Int32]
Gets or sets the element at the specified index.
Methods
Add(T)
Adds an object to the end of the List<T>.
AddRange(IEnumerable<T>)
Adds the elements of the specified collection to the end of the List<T>.
AsReadOnly()
Returns a read-only ReadOnlyCollection<T> wrapper for the current collection.
BinarySearch(Int32, Int32, T, IComparer<T>)
Searches a range of elements in the sorted List<T> for an element using the
specified comparer and returns the zero-based index of the element.
BinarySearch(T)
Searches the entire sorted List<T> for an element using the default comparer
and returns the zero-based index of the element.
BinarySearch(T, IComparer<T>)
Searches the entire sorted List<T> for an element using the specified comparer
and returns the zero-based index of the element.
Clear()
Removes all elements from the List<T>.
Contains(T)
Determines whether an element is in the List<T>.
ConvertAll
Converts the elements in the current List<T> to another type, and returns a
list containing the converted elements.
CopyTo(Int32, T[], Int32, Int32)
Copies a range of elements from the List<T> to a compatible one-dimensional
array, starting at the specified index of the target array.
CopyTo(T[])
Copies the entire List<T> to a compatible one-dimensional array, starting at
the beginning of the target array.
CopyTo(T[], Int32)
Copies the entire List<T> to a compatible one-dimensional array, starting at
the specified index of the target array.
EnsureCapacity(Int32)
Ensures that the capacity of this list is at least the specified capacity. If the
current capacity is less than capacity, it is successively increased to twice the
current capacity until it is at least the specified capacity.
Equals(Object)
Determines whether the specified object is equal to the current object.
(Inherited from Object)
Exists(Predicate<T>)
Determines whether the List<T> contains elements that match the conditions
defined by the specified predicate.
Find(Predicate<T>)
Searches for an element that matches the conditions defined by the specified
predicate, and returns the first occurrence within the entire List<T>.
FindAll(Predicate<T>)
Retrieves all the elements that match the conditions defined by the specified
predicate.
FindIndex(Int32, Int32, Predicate<T>)
Searches for an element that matches the conditions defined by the specified
predicate, and returns the zero-based index of the first occurrence within the
range of elements in the List<T> that starts at the specified index and
contains the specified number of elements.
FindIndex(Int32, Predicate<T>)
Searches for an element that matches the conditions defined by the specified
predicate, and returns the zero-based index of the first occurrence within the
range of elements in the List<T> that extends from the specified index to the
last element.
FindIndex(Predicate<T>)
Searches for an element that matches the conditions defined by the specified
predicate, and returns the zero-based index of the first occurrence within the
entire List<T>.
FindLast(Predicate<T>)
Searches for an element that matches the conditions defined by the specified
predicate, and returns the last occurrence within the entire List<T>.
FindLastIndex(Int32, Int32, Predicate<T>)
Searches for an element that matches the conditions defined by the specified
predicate, and returns the zero-based index of the last occurrence within the range
of elements in the List<T> that contains the specified number of elements and
ends at the specified index.
FindLastIndex(Int32, Predicate<T>)
Searches for an element that matches the conditions defined by the specified
predicate, and returns the zero-based index of the last occurrence within the range
of elements in the List<T> that extends from the first element to the specified
index.
FindLastIndex(Predicate<T>)
Searches for an element that matches the conditions defined by the specified
predicate, and returns the zero-based index of the last occurrence within the entire
List<T>.
ForEach(Action<T>)
Performs the specified action on each element of the List<T>.
GetEnumerator()
Returns an enumerator that iterates through the List<T>.
GetHashCode()
Serves as the default hash function. (Inherited from Object)
GetRange(Int32, Int32)
Creates a shallow copy of a range of elements in the source List<T>.
GetType()
Gets the Type of the current instance. (Inherited from Object)
IndexOf(T)
Searches for the specified object and returns the zero-based index of the first
occurrence within the entire List<T>.
IndexOf(T, Int32)
Searches for the specified object and returns the zero-based index of the first
occurrence within the range of elements in the List<T> that extends from the
specified index to the last element.
IndexOf(T, Int32, Int32)
Searches for the specified object and returns the zero-based index of the first
occurrence within the range of elements in the List<T> that starts at the
specified index and contains the specified number of elements.
Insert(Int32, T)
Inserts an element into the List<T> at the specified index.
InsertRange(Int32, IEnumerable<T>)
Inserts the elements of a collection into the List<T> at the specified index.
LastIndexOf(T)
Searches for the specified object and returns the zero-based index of the last
occurrence within the entire List<T>.
LastIndexOf(T, Int32)
Searches for the specified object and returns the zero-based index of the last
occurrence within the range of elements in the List<T> that extends from the
first element to the specified index.
LastIndexOf(T, Int32, Int32)
Searches for the specified object and returns the zero-based index of the last
occurrence within the range of elements in the List<T> that contains the
specified number of elements and ends at the specified index.
MemberwiseClone()
Creates a shallow copy of the current Object. (Inherited from Object)
Remove(T)
Removes the first occurrence of a specific object from the List<T>.
RemoveAll(Predicate<T>)
Removes all the elements that match the conditions defined by the specified predicate.
RemoveAt(Int32)
Removes the element at the specified index of the List<T>.
RemoveRange(Int32, Int32)
Removes a range of elements from the List<T>.
Reverse()
Reverses the order of the elements in the entire List<T>.
Reverse(Int32, Int32)
Reverses the order of the elements in the specified range.
Sort()
Sorts the elements in the entire List<T> using the default comparer.
Sort(Comparison<T>)
Sorts the elements in the entire List<T> using the specified Comparison<T>.
Sort(IComparer<T>)
Sorts the elements in the entire List<T> using the specified comparer.
Sort(Int32, Int32, IComparer<T>)
Sorts the elements in a range of elements in List<T> using the specified comparer.
ToArray()
Copies the elements of the List<T> to a new array.
ToString()
Returns a string that represents the current object. (Inherited from Object)
TrimExcess()
Sets the capacity to the actual number of elements in the List<T>, if that
number is less than a threshold value.
TrueForAll(Predicate<T>)
Determines whether every element in the List<T> matches the conditions defined
by the specified predicate.
Extension Methods
Ones I have found useful
Select
Projects each element of a sequence into a new form.
Skip
Bypasses a specified number of elements in a sequence and then returns the remaining
elements.
Take
Returns a specified number of contiguous elements from the start of a sequence.