The main difference is StringBuilder is Mutable whereas String is Immutable.String is immutable, Immutable means if you create string object then you cannot modify it and It always create new object of string type in memory.On the other hand, StringBuilder is mutable. Means, if we create a string builder object then we can perform any operation like insert, replace or append without creating new instance for every time. It will update string at one place in memory doesn’t create new space in memory.Example Live Demousing System; using System.Text; class DemoApplication{ public static void Main(String[] args){ String systemString ... Read More
Methods in C# are generally the block of codes or statements in a program which gives the user the ability to reuse the same code which ultimately saves the excessive use of memory, acts as a time saver and more importantly, it provides better readability of the code.There might be certain situations the user wants to execute a method but sometimes that method requires some valuable inputs in order to execute and complete its tasks. These input values are known as Parameters.Parameters can be passed to a method in the following ways −Value ParametersReference ParametersOutput ParametersValue ParametersValue Parameters copies the ... Read More
Access modifiers are used to specify the scope of accessibility of a member of a class or type of the class itself. There are six different types of access modifiers.PublicPrivateProtectedInternalProtected InternalPrivate ProtectedPublic Access ModifierObjects that implement public access modifiers are accessible from everywhere in a project without any restrictions.Exampleusing System; namespace MyApplication{ public class Program{ public static void Main(){ Person person = new Person(); Console.WriteLine(person.Name); //Person Name is accessible as it is public } } public class Person{ ... Read More
It marks the string as a verbatim string literal.In C#, a verbatim string is created using a special symbol @. @ is known as a verbatim identifier. If a string contains @ as a prefix followed by double quotes, then compiler identifies that string as a verbatim string and compile that string. The main advantage of @ symbol is to tell the string constructor to ignore escape characters and line breaks.Example Live Demousing System; using System.IO; namespace DemoApplication{ class Program{ static void Main(string[] args){ Console.WriteLine("test string test string"); Console.WriteLine(@"test ... Read More
It is the null-coalescing operator. The null-coalescing operator ?? returns the value of its left-hand operand if it isn't null; otherwise, it evaluates the right-hand operand and returns its result. The ?? operator doesn't evaluate its right-hand operand if the lefthand operand evaluates to non-null.A nullable type can represent a value that can be undefined or from the type's domain. We can use the ?? operator to return an appropriate value when the left operand has a nullable type. If we try to assign a nullable value type to a non-nullable value type without using the ?? operator, we will get ... Read More
Int32 is a type provided by .NET framework whereas int is an alias for Int32 in C# language.Int32 x = 5;int x = 5;So, in use both the above statements will hold a 32bit integer. They compile to the same code, so at execution time there is no difference whatsoever.The only minor difference is Int32 can be only used with System namespace. While validating the type of a value like mentioned above we can use Int32 or int.typeof(int) == typeof(Int32) == typeof(System.Int32)ExampleThe below example shows how an integer is declared using System.Int32. Live Demousing System; namespace DemoApplication{ class Program{ ... Read More
We can store n number of lists of different types in a single generic list by creating a list of list of objects as shown below.List list = new List();Example Live Demousing System; using System.Collections.Generic; namespace MyApplication{ public class Program{ public static void Main(){ List list = new List(); List list1 = new List(); list1.Add(101); list1.Add(102); list1.Add(103); list.Add(list1); List list2 = new List(); list2.Add("Test1"); ... Read More
The "is" keyword is used to check if an object can be casted to a specific type. The return type of the operation is Boolean.Exampleusing System; namespace DemoApplication{ class Program{ static void Main(){ Employee emp = new PermanentEmployee{ ID = 1, Name = "Martin" }; // Returns true as the derived type can be converted to base type. if (emp is Employee){ ... Read More
As C# is a strongly-typed language, every variable and constant has a pre-defined type. Before using any variable, we must tell the compiler what type of value a variable will store.If we are not sure about the type, then it is handled using dynamic programming. Dynamic programming is supported by the dynamic keyword.The dynamic keyword is used to declare dynamic types. The dynamic types tell the compiler that the object is defined as dynamic and skip type-checking at compiler time, delay type-checking until runtime. All syntaxes are checked and errors are thrown at runtime.Example Live Demousing System; namespace DemoDynamicKeyword{ class ... Read More
Given the task is to find the maximum number of squares having side ‘a’ that can fit inside a give right angle isosceles triangle with base of ‘s’(An isosceles triangle has at least 2 equal sides).Let’s now understand what we have to do using an example:Inputs=5, a=1Output10Explanation − The number of squares in the base can be calculated by dividing s by a and subtracting 1. So the number of squares in base = 5/1 – 1 = 4.Similarly when the bottom 4 squares are placed then we get a new isosceles triangle with base (s-a) and then we repeat ... Read More