Siksha Sarovar

Siksha Sarovar (sikshasarovar.com) is a free educational web application that helps students in India learn programming and prepare for academic and competitive exams. The platform offers structured coding courses (C, C++, Python, Java, HTML, CSS, PHP, Power BI, AI, Machine Learning, Data Science), complete university curriculum notes for BCA/MCA students with previous year question papers, Class 10 and Class 12 CBSE/HBSE school notes, and dedicated preparation material for SSC, UPSC, Banking, Railway and other government exams. Browsing the site is completely free and requires no account. Users may optionally sign in with Google solely to save their learning progress, quiz scores and personal preferences across devices.

Privacy Policy | Terms of Service | Contact Siksha Sarovar | About Siksha Sarovar

v4.0.9 · PWA
Siksha Sarovar logo
Siksha Sarovar
Your Learning Universe

Siksha Sarovar is a free e-learning platform for coding courses, BCA university notes and competitive exam preparation. Optional Google sign-in saves your learning progress across devices.

Initializing knowledge base…
Compiling modules 0%

C# Programming — Free Notes & Tutorial

Free C# (C Sharp) programming notes for BCA — OOP, .NET framework, delegates, LINQ at SikshaSarovar. Free C# Programming course on SikshaSarovar.

This C# Programming course is part of Siksha Sarovar and is 100% free for students in India — no sign-up required to read. It contains 27 structured lessons with examples, and pairs with our free online compiler and AI tutor.

What you will learn

  • C# OOP
  • .NET
  • Delegates
  • LINQ
  • Exception handling

Course content (27 lessons)

  1. Unit 1 Overview — Introduction to .NET Before diving into the details, let's look at the big picture of what we will cover in this unit.
  2. The Origin of .NET — The Genesis of .NET In the late 1990s, software development was fragmented. Developers had to grapple with "DLL Hell" (version conflicts), memory leaks in C++, and the complexity…
  3. Basics of .NET Framework & Design Goals — What is the .NET Framework? The .NET Framework is a software framework developed by Microsoft that runs primarily on Microsoft Windows. It includes a large class library named…
  4. 3-Tier Architecture — Understanding 3-Tier Architecture In modern software engineering, separating concerns is vital for maintenance. The 3-Tier architecture is a classic design pattern that divides an…
  5. Managed vs Unmanaged Code — The Concept of Management In the .NET world, the term "Managed" refers to the relationship between your code and the CLR (Common Language Runtime) . Managed Code Managed code is…
  6. Assemblies — What is an Assembly? An assembly is the fundamental building block of .NET applications. When you compile your C code, the output is an assembly. Study Deep: The Global Assembly…
  7. CLR (Common Language Runtime) — The Engine Under the Hood The Common Language Runtime (CLR) is the virtual machine component of the .NET framework. It is responsible for managing the execution of .NET programs.…
  8. IL and JIT Compilation — Intermediate Language (IL) When you click "Build" in Visual Studio, your C compiler ( csc.exe ) does NOT create machine code. It creates MSIL (Microsoft Intermediate Language).…
  9. CTS and CLS — Common Type System (CTS) The CTS defines how data types are declared, used, and managed in the runtime. It ensures that data types are unified across all .NET languages. How it…
  10. Unit 2 Overview — Introduction to C Let's see the roadmap for mastering the C language basics.
  11. C# Environment & Literals — The C Environment C (pronounced "C-Sharp") is a modern, object-oriented, and type-safe programming language. To execute C , you primarily need the .NET Runtime . Literals in C…
  12. Variables and Data Types — Detailed Data Type Reference C is a strongly typed language , meaning every variable has a specific type, and you cannot assign incompatible values. Study Deep: Stack vs. Heap…
  13. Operators & Decision Making — Operators C provides a rich set of operators for performing computations. Category Operators Description :--- :--- :--- Arithmetic + - / % Basic math. Increment ++ -- Inc/Dec by…
  14. Loops and Methods — Looping Constructs Loop Type Best Used When... :--- :--- For Loop Known iterations. While Loop Unknown iterations. Do-While Loop Run at least once. Foreach Loop Iterating through…
  15. Unit 3 Overview — OOP in C Object-Oriented Programming is the heart of C . Here is what we will learn.
  16. OOP Principles — The Core Principles 1. Encapsulation: Bundling data and methods. 2. Inheritance: New class acquires properties of existing class. 3. Polymorphism: Objects respond differently to…
  17. Classes and Structures — Classes vs Structures (struct) Feature Class Structure ( struct ) :--- :--- :--- Type Reference Type (Heap). Value Type (Stack). Inheritance Supported. Not allowed. Null usage Can…
  18. Constructors — What are Constructors? A Constructor is a special method called during object instantiation. Study Deep: Static Constructors Used to initialize static data. Runs exactly once per…
  19. Inheritance and Polymorphism — Inheritance Promotes code reusability. C uses the : symbol. Polymorphism 1. Compile-Time (Overloading): Same name, different parameters. 2. Runtime (Overriding): Base uses virtual…
  20. Abstract Classes vs Interfaces — Abstract Classes Cannot be instantiated. Can have abstract and concrete methods. Interfaces A contract defining "what" not "how". Supports Multiple Inheritance.
  21. Delegates and Events — Delegates Type-safe function pointers. Events Mechanism for communication between objects (Publisher/Subscriber).
  22. Unit 4 Overview — Database Connectivity Connecting to data is crucial. Here is the architecture we will explore.
  23. Exception Handling — Managing Runtime Errors 1. Try: Risky code. 2. Catch: Handle error. 3. Finally: Always runs (cleanup). Study Deep: Throw vs. Throw ex throw; : Preserves original stack trace.…
  24. ADO.NET Architecture — ADO.NET Architecture The bridge between C and the database. Study Deep: Connected vs. Disconnected Connected: Uses DataReader . Fast, read-only, needs active connection.…
  25. PYQ: End Term December 2025
  26. PYQ: End Term December 2024
  27. PYQ: End Term December 2023

The Origin of .NET

The Genesis of .NET

In the late 1990s, software development was fragmented. Developers had to grapple with "DLL Hell" (version conflicts), memory leaks in C++, and the complexity of COM (Component Object Model). Microsoft recognized the need for a unified platform that could simplify development, support multiple languages, and embrace the emerging World Wide Web.

The .NET initiative was officially announced by Bill Gates in June 2000. It wasn't just a language but a complete ecosystem designed to make "Windows Web Services" a reality.

Evolution Timeline

The framework has evolved significantly over two decades:

VersionYearKey Features
1.02002Initial release. Introduction of CLR, Managed Code, and C#.
2.02005Generic Types (Major upgrade), Nullable types, Iterators.
3.02006Added WPF (UI), WCF (Communication), WF (Workflow).
3.52007LINQ (Language Integrated Query) - a game changer for data access.
4.02010Parallel Extensions (PLINQ), Dynamic keyword.
4.5 - 4.82012+Async/Await for asynchronous programming.
.NET Core2016Cross-platform, open-source rewrite.
.NET 5+2020+Unification of .NET Framework and .NET Core into a single platform.

Why was it created?

The primary motivation was to solve the problems of the "COM era":

  1. Complexity: COM was notoriously difficult to learn and implement correctly.
  2. Fragility: Installing a new application often broke existing ones by overwriting shared DLLs.
  3. Security: Traditional applications had full access to the system, posing security risks.

Continue reading: The Origin of .NET →

Frequently asked questions

Is the C# Programming course really free?

Yes. The entire C# Programming course on Siksha Sarovar is free to read with no account required. You can optionally sign in with Google to save your progress.

Do I get a certificate for C# Programming?

Yes — finish the lessons and pass the quiz to earn a free, verifiable certificate you can share on LinkedIn or with recruiters.

Can I run code while learning?

Yes. The built-in online compiler runs C, C++, Python, Java, PHP, JavaScript, C# and SQL directly in your browser — no installation needed.