In C#, Dictionary is a generic collection which is generally used to store key/value pairs. In Dictionary, the key cannot be null, but value can be. A key must be unique. Duplicate keys are not allowed if we try to use duplicate key then compiler will throw an exception.As mentioned above a value in a dictionary can be updated by using its key as the key is unique for every value.myDictionary[myKey] = myNewValue;ExampleLet’s take a dictionary of students having id and name. Now if we want to change the name of the student having id 2 from "Mrk" to "Mark". Live ... Read More
Named parameters provides us the relaxation to remember or to look up the order of parameters in the parameter lists of called methods. The parameter for each argument can be specified by parameter name.NamedParameterFunction(firstName: "Hello", lastName: "World")Using named parameters in C#, we can put any parameter in any sequence as long as the name is there. The right parameter value based on their names will be mapped to the right variable. The parameters name must match with the method definition parameter names. Named arguments also improve the readability of our code by identifying what each argument represents.Example Live Demousing System; namespace ... Read More
Foreach loop in C# runs upon a single thread and processing takes place sequentially one by one. Whereas Parallel.Foreach loop in C# runs upon multiple threads and processing takes place in a parallel way. Which means it is looping through all items at once without waiting for the previous item to complete.The execution of Parallel.Foreach is faster than normal ForEach. To use Parallel.ForEach loop we need to import System.Threading.Tasks namespace.Example Live Demousing System; using System.Collections.Generic; using System.Diagnostics; using System.Threading; using System.Threading.Tasks; namespace DemoApplication{ class Demo{ static void Main(string[] args){ var animals = new ... Read More
The Obsolete Attribute marks elements like classes, methods, properties, fields, delegates, and many others within our code as deprecated or obsolete. The attribute is read at compile time and it is used to generate a warning or an error to the developer.This attribute can help if we have ever wanted to make sure programmers use newer versions of methods. It also makes it easier when we are transitioning from older methods to newer ones. Marking an item as obsolete warns users that program elements will be removed in future versions of the code base.This attribute is found in the System ... Read More
By default, all parameters of a method are required. A method that contains optional parameters does not force to pass arguments at calling time. It means we call method without passing the arguments.The optional parameter contains a default value in function definition. If we do not pass optional argument value at calling time, the default value is used.Thera are different ways to make a parameter optional.Using Default ValueExample Live Demousing System; namespace DemoApplication{ class Demo{ static void Main(string[] args){ OptionalMethodWithDefaultValue(5); //Value2 is not passed as it is optional ... Read More
The main difference between List and IList in C# is that List is a class that represents a list of objects which can be accessed by index while IList is an interface that represents a collection of objects which can be accessed by index. The IList interface implemented from two interfaces and they are ICollection and IEnumerable.List and IList are used to denote a set of objects. They can store objects of integers, strings, etc. There are methods to insert, remove elements, search and sort elements of a List or IList. The major difference between List and IList is that ... Read More
FinalizeFinalize() is called by the Garbage Collector before an object that is eligible for collection is reclaimed. Garbage collector will take the responsibility to deallocate the memory for the unreferenced object. The Garbage Collector calls this method at some point after there are no longer valid references to that object in memory.The framework does not guarantee that when this will happen, we can force for Garbage Collection but it will hurt performance of a program. Finalize() belongs to the Object class and it will be called by the runtime.Exampleusing System; namespace DemoApplication{ public class Demo{ ~Demo(){ ... Read More
If a class implements two interfaces that contain a member with the same signature, then implementing that member on the class will cause both interfaces to use that member as their implementation.It's possible to implement an interface member explicitly—creating a class member that is only called through the interface, and is specific to that interfaceExampleinterface ICar{ void display(); } interface IBike{ void display(); } class ShowRoom : ICar, IBike{ void ICar.display(){ throw new NotImplementedException(); } void IBike.display(){ throw new NotImplementedException(); } } class Program{ static void Main(){ Console.ReadKey(); } }
UnionUnion combines multiple collections into a single collection and returns a resultant collection with unique elementsIntersectIntersect returns sequence elements which are common in both the input sequencesExceptExcept returns sequence elements from the first input sequence that are not present in the second input sequenceExampleclass Program{ static void Main(){ int[] count1 = { 1, 2, 3, 4 }; int[] count2 = { 2, 4, 7 }; var resultUnion = count1.Union(count2); var resultIntersect = count1.Intersect(count2); var resultExcept = count1.Except(count2); System.Console.WriteLine("Union"); ... Read More
Build solutionThis will perform an incremental build. In other words it will only build code files which have changed.If they have not changed those files will not be touched. Compiles code files (DLL and EXE) which are changed.Rebuild solutionThis will delete all currently compiled files (i.e., exe and DLLs) and will build everything from scratch,Irrespective of if there is code change in the file or not.Clean solutionThis menu will delete all compiled files (i.e., EXE’s and DLL’s) from the bin/obj directory.Rebuild = Clean + Build