C# Tutorial Last Updated : 23 Jul, 2025 Comments Improve Suggest changes Like Article Like Report C# (pronounced "C-sharp") is a modern, versatile, object-oriented programming language developed by Microsoft in 2000 that runs on the .NET Framework. Whether you're creating Windows applications, diving into Unity game development, or working on enterprise solutions, C# is one of the top choices for developers worldwide.C# originates from the C programming family and shares similarities with other widely-used languages like C++ and Java.Mainly used to develop the desktop apps, windows apps, games(with unity engine), mobile apps and web services etc.C# is the primary language for developing games using the Unity engine.With .NET Core, C# applications can run on Windows, macOS, and Linux.The latest version, C# 13 was released in November 2024 alongside .NET 9.Hello World Program C# // C# Hello World Program using System; class HelloWorldProgram { // Main Method static void Main(string[] args) { // "printing Hello World" Console.WriteLine("Hello, World!"); } } OutputHello, World! This C# tutorial covers everything from beginners to advanced level. We’ll start with the basics like setting up your environment, C# syntax, and writing "Hello World" program, data types, and loops etc. After that we will start with advanced topics like object-oriented programming, delegates, tuples, indexers, collections, multithreading, and LINQ etc..NET Framework OverviewWhat is .NET Framework?.NET Framework ArchitectureManaged and Unmanaged CodeCIL or MSILCommon Language Runtime(CLR)IntroductionWhat is C#?Installing and Setup Visual Studio CodeSetting Up Enviornment VariablesHello World ProgramExcecuting Program on CMDBasicsIdentifiersVariablesData TypesConstants and LiteralsScope of VariablesParamsType CastingCommentsOperatorsControl StructuresDecision Making: If-Else, Switch-CaseSwitch StatementLoops: For, While, Do-WhileForeach LoopJump Statements: Break, Continue, GotoArrays & StringsIntroduction to ArraysJagged ArraysSorting an ArrayIntroduction to StringVerbatim String Literal – @StringBuilder in C#String vs StringBuilderOOPS ConceptsClass and ObjectsMethodsConstructorsDestructorsPropertiesAccess ModifiersAbstractionEncapsulationInheritanceMethod OverloadingMethod OverridingAbstract ClassesInterfaceSealed ClassesDelegatesDelegatesPredicate DelegateAction DelegateFunc DelegateTupleWhat is Tuple?Tuple ClassTuple<T1> ClassTuple<T1,T2> ClassTuple<T1,T2,T3> ClassTuple<T1,T2,T3,T4> ClassTuple<T1,T2,T3,T4,T5> ClassTuple<T1,T2,T3,T4,T5,T6> ClassTuple<T1,T2,T3,T4,T5,T6,T7> ClassTuple<T1,T2,T3,T4,T5,T6,T7,TRest> ClassValueTupleWhat is ValueTuple?ValueTuple StructValueTuple <T1> StructValueTuple <T1,T2> StructValueTuple <T1,T2,T3> StructValueTuple <T1,T2,T3,T4> StructValueTuple <T1,T2,T3,T4,T5> StructValueTuple <T1,T2,T3,T4,T5,T6> StructValueTuple <T1,T2,T3,T4,T5,T6,T7> StructValueTuple <T1,T2,T3,T4,T5,T6,T7,TRest> StructIndexers & PropertiesIndexersMultidimensional IndexersOverloading of IndexersPropertiesRestrictions on PropertiesMultithreadingIntroduction to MultithreadingTypes of ThreadsCreating ThreadsMain ThreadLifecycle and States of a ThreadThread ClassScheduling a thread for ExecutionCheck whether a Thread is Alive or NotJoining ThreadsTerminating a ThreadThread Priority in MultithreadingException HandlingExceptionsSystem Level Exception vs Application Level ExceptionHow to Use Multiple Catch ClauseNesting of Try and Catch BlocksUsing FinallyCollections & GenericsListSortedList with ExamplesHashSetSortedSetDictionary with ExamplesSortedDictionaryHashtable with ExamplesStack with ExamplesQueue with ExamplesLinkedListHashtable vs DictionarySortedList vs SortedDictionaryCollections NamespaceStack ClassQueue ClassArray ClassArrayList ClassHashtable ClassBitArray ClassSortedList ClassGeneric NamespaceHashSet<T> ClassLinkedList<T> ClassList<T> ClassSortedSet<T> ClassDictionary ClassSortedDictionary ClassSystem NamespaceBitConverter ClassConsole ClassConvert ClassDecimal StructByte StructChar StructInt16 StructInt32 StructInt64 StructUInt16 StructUInt32 StructUInt64 StructSpecialized NamespaceListDictionary ClassStringCollection ClassOrderedDictionary ClassHybridDictionary ClassStringDictionary ClassC# 8.0Static Local FunctionRange and IndicesRange StructureIndex StructWindows FormsWhat is Windows Forms(WF)?Button ControlLabel ControlRadioButton ControlCheckBox ControlTextBox ControlComboBox ControlToolTip ClassRichTextBox ClassMaskedBox ClassNumericUpDown ClassDateTimePicker ClassListBox ClassGroupBox ClassFlowLayoutPanel Class C# FeaturesSimple: C# is a user-friendly language that offers a structured approach to problem-solving. it provides a wide range of library functions and data types to work.Modern Programming Language: C# programming is a popular and powerful language that is for creating scalable, interoperable, and robust applications.Object Oriented: C# is an object-oriented programming language, which makes development and maintenance easier. In contrast, with procedure-oriented programming languages, managing code becomes difficult as project size grows.Type Safe: The code is type safe can only access memory locations that it has permission to execute. This feature significantly enhances program security.Interoperability: The interoperability process allows C# programs to perform all the tasks that a native C++ application.Scalable and Updateable: C# is a programming language that is scalable and can be updated automatically. To update our application, we remove the old files and replace them with new ones.Component Oriented: It is widely used as a software development methodology to create applications that are more strong and can easily scale.Structured Programming Language: C# is a structured programming language that allows us to divide programs into parts using functions, making it easy to understand and modify.Fast Speed: The compilation and execution time of C# language is fast. Comment More infoAdvertise with us R rahulsharmagfg1 Follow Improve Article Tags : C# Tutorials Explore IntroductionC# Tutorial 4 min read Introduction to .NET Framework 6 min read C# .NET Framework (Basic Architecture and Component Stack) 6 min read C# Hello World 2 min read Common Language Runtime (CLR) in C# 4 min read FundamentalsC# Identifiers 2 min read Data Types in C# 6 min read C# Variables 4 min read C# Literals 5 min read Operators in C# 7 min read C# Keywords 5 min read Control StatementsC# Decision Making (if, if-else, if-else-if ladder, nested if, switch, nested switch) 5 min read C# Switch Statement 4 min read Loops in C# 4 min read C# Jump Statements (Break, Continue, Goto, Return and Throw) 4 min read OOP ConceptsC# Class and Objects 5 min read Constructors in C# 5 min read C# Inheritance 6 min read C# Encapsulation 4 min read C# Abstraction 4 min read MethodsMethods in C# 4 min read Method Overloading in C# 4 min read C# | Method Parameters 7 min read C# Method Overriding 9 min read Anonymous Method in C# 3 min read ArraysArrays in C# 6 min read Jagged Arrays in C# 4 min read Array Class in C# 5 min read How to Sort an Array in C# | Array.Sort() Method Set - 1 8 min read How to find the rank of an array in C# 2 min read ArrayListArrayList in C# 6 min read C# ArrayList Class 7 min read C# | Array vs ArrayList 2 min read StringStrings in C# 6 min read C# Verbatim String Literal - @ 5 min read C# String Class 9 min read C# StringBuilder 4 min read C# String vs StringBuilder 3 min read TupleC# Tuple 7 min read C# Tuple Class 3 min read C# ValueTuple 7 min read C# ValueTuple Struct 4 min read IndexersC# Indexers 4 min read C# Multidimensional Indexers 5 min read C# - Overloading of Indexers 3 min read Like