C# Programming Language
C# is a general-purpose, modern and object-oriented programming language pronounced as “C Sharp”. It was developed by Microsoft led by Anders Hejlsberg and his team within the .NET initiative and was approved by the European Computer Manufacturers Association (ECMA) and International Standards Organization (ISO). C# is among the languages for Common Language Infrastructure. C# is a lot similar to Java syntactically and is easy for users who have knowledge of C, C++ or Java.
Recent Articles on C# !
Overview, Fundamentals, Important Keywords, Control Statements, OOP Concepts, Methods, Delegates, Constructors, Arrays, ArrayList, String, Tuple, ValueTuple, Indexers, Inheritance, Interfaces, Multithreading, Exception Handling, Collections and Generics, Collections Namespace, Generic Namespace, System Namespace, Specialized Namespace, What’s New in C# 8.0, Windows Forms
- Introduction to .NET Framework
- .NET Framework (Basic Architecture and Component Stack)
- Managed code and Unmanaged code in .NET
- Managed vs Unmanaged Code
- CIL or MSIL
- .NET Framework Class Library (FCL)
- Introduction to C#
- Setting up the Environment in C#
- How to Install and Setup Visual Studio for C#?
- Evolution of C#
- Hello World in C#
- How to Execute C# Program on cmd (command-line)?
- Main Method
- Getting Familiar With Visual Studio
- Common Language Runtime(CLR)
- Architecture of Common Language Runtime (CLR)
- JIT(Just-In-Time) Compiler
- Garbage Collection
- Windows Form Applications
- C vs C#
- C++ vs C#
- Java vs C#
- Python vs C#
- Interesting Facts about C#
- Type System Unification in C# .NET
- Identifiers
- Data Types
- Variables
- Types of Variables
- Implicitly Typed Local Variables – var
- Dynamic Type in C#
- var vs dynamic
- Binary Literals and Digit Separators
- Scope of Variables
- Access Modifiers
- Constants or Literals
- Operators
- Command Line Arguments
- Boxing and Unboxing
- Boxing vs UnBoxing
- Params in C#
- Comments in C#
- Type Casting or Type Conversion
- Enumeration in C#
- Properties in C#
- Nullable Types
- Structures
- Class and Object
- Nested Classes
- Difference between Class and Structure
- Early and Late Binding
- Overloading of Constructors
- Inheritance in C#
- Encapsulation in C#
- Abstraction in C#
- this keyword
- Static Class
- Partial Classes
- Shallow Copy and Deep Copy
- Different ways to create an Object
- Object and Collection Initializer
- Accessing structure’s elements using Pointers
- Methods
- Method Overloading
- Method Returning an Object
- Method Parameters
- Runtime(Dynamic) Polymorphsim
- Method Overriding
- Method Hiding
- Method Overriding vs Method Hiding
- Optional Parameters
- Different ways to make Method Parameter Optional
- Out Parameters with examples
- Difference between Ref and Out keywords
- Anonymous Method
- Partial Methods
- Extension Method
- Local Function
- Arrays
- Jagged Arrays
- Arrays of Strings
- Using foreach loop in arrays
- Array Class
- Sorting an Array
- Length of an Array
- Array.BinarySearch() Method
- Check if two array objects are equal or not
- Number of elements in a specified dimension of an Array
- LongLength property of an Array
- Rank of an Array
- Passing Arrays as Arguments
- Implicitly Typed Arrays
- Object and Dynamic Arrays
- Array IndexOutofRange Exception
- Different ways to sort an array in descending order
- What is ArrayList?
- How to create the ArrayList?
- ArrayList Class
- Array vs ArrayList
- Adding the elements to the end of the ArrayList
- Removing all the elements from the ArrayList
- Removing a range of elements from the ArrayList
- ArrayList to Array Conversion
- Copying the entire ArrayList to a 1-D Array
- Copying the entire ArrayList to 1-D Array starting at the specified index
- Check if two ArrayList objects are equal
- What is ValueTuple in C#?
- ValueTuple Struct
- ValueTuple <T1> Struct
- ValueTuple <T1,T2> Struct
- ValueTuple <T1,T2,T3> Struct
- ValueTuple <T1,T2,T3,T4> Struct
- ValueTuple <T1,T2,T3,T4,T5> Struct
- ValueTuple <T1,T2,T3,T4,T5,T6> Struct
- ValueTuple <T1,T2,T3,T4,T5,T6,T7> Struct
- ValueTuple <T1,T2,T3,T4,T5,T6,T7,TRest> Struct
- Introduction to Multithreading
- Types of Threads
- How to create Threads
- Main Thread
- Lifecycle and States of a Thread
- Thread Class
- Scheduling a thread for Execution
- Check whether a Thread is Alive or not
- Joining Threads
- Terminating a Thread
- Check whether a thread is a background thread or not
- Naming a thread and fetching name of current thread
- Thread Priority in Multithreading