C#

-Mansi Lashkari

Introduction to C#

C# (“C sharp”) is a object-oriented programming language developed by Microsoft within its .NET framework. Since its inception in the early 2000s, C# has gained widespread adoption and is now  in top 5 programming languages in the world. It’s widely used for developing a variety of applications, ranging from desktop software to web applications, mobile apps, games, and enterprise-level systems.

 History of C#

C# was created by Anders Hejlsberg, the principal designer of Delphi and Turbo Pascal, and his team at Microsoft. It was introduced to the public as a part of the .NET framework in 2000. The language was designed to be simple, modern, and easy to use, drawing inspiration from languages like C++, Java, JavaScript, C and Delphi.

Key Features of C#

  • Object Oriented
  • Strongly typed
  • Garbage Collected
  • Platform Independence
  • Language interested Query
  • Asynchronous Programming
  • Rich Standard Library

1. Object-Oriented

C# is a fully object-oriented language, which means it supports oop’s concepts like encapsulation, inheritance, and polymorphism. This allows developers to write modular, reusable, and maintainable code easily.

2. Strongly Typed

C# is a strongly typed language, meaning each variable and expression has a type known at compile-time. This helps catch errors early in the development process and improves code reliability.

3. Garbage Collected

C# utilizes automatic memory management through a garbage collector, which automatically deallocates memory that is no longer in use. The memory which is not in use is deallocated. This simplifies memory management for developers and reduces the likelihood of memory leaks and other memory-related issues.

4. Platform Independence

With the introduction of .NET Core (now .NET 5 and later), C# has become more platform-independent. Developers can write C# code and run it on various platforms, including Windows, Linux, and macOS. It support multiple platforms to write & run the code easily.

5. Language Integrated Query (LINQ)

LINQ is a powerful feature of C# that allows developers to query data from different data sources (such as SQL databases, XML files, and in-memory collections) using a unified syntax. This makes data manipulation and querying more intuitive and less error-prone.

6. Asynchronous Programming

C# provides built-in support for asynchronous programming using the `async` and `await` keywords. This allows developers to write non-blocking code that can efficiently utilize system resources and improve application responsiveness. It helps to run code step by step without wasting time.

7. Rich Standard Library

C# comes with a comprehensive standard library (part of the .NET framework), which provides a wide range of classes and APIs for common tasks such as file I/O, networking, cryptography, and more. This reduces the need for third-party libraries in many cases. This helps to easily write program with the help or classes & libraries

Syntax and Language Constructs

C# syntax is similar to that of other C-style languages like C, C++, and Java. Here’s a brief overview of some key language constructs:

Variables and Data Types

C# supports various data types, including integers, floating-point numbers, characters, booleans, strings, and etc. Variables must be declared with a specific type before they can be used after this user easily call them all.

C # variables with there Examples:-

int age = 30;

double pi = 3.14159;

char grade = ‘A’;

bool isStudent = true;

string name = “John”;

“`

Control Structures

C# provides several control structures for decision-making and looping, including `if`, `else`, `switch`, `while`, `do-while`, `for`, and `foreach`.

C #

if (condition)

{

    // Code block executed if condition is true

}

else

{

    // Code block executed if condition is false

}

switch (variable)

{

    case value1:

        // Code block

        break;

    case value2:

        // Code block

        break;

    default:

        // Code block

        break;

}

for (int i = 0; i < 5; i++)

{

    // Code block executed 5 times

}

while (condition)

{

    // Code block executed while condition is true

}

“`

Methods and Functions

Methods in C# are similar to functions in other languages. They encapsulate a set of instructions that perform a specific task. Methods can have parameters and return values.

C #

// Method with parameters and return type

int Add(int a, int b)

{

    return a + b;

}

// Method invocation

int result = Add(5, 3);

C# Classes and Objects

Classes are the building blocks of object-oriented programming in C#. They encapsulate data and behavior into objects, allowing for modular and reusable code.

C#

// Class definition

class Person

{

    // Fields

    public string Name;

    public int Age;

    // Constructor

    public Person(string name, int age)

    {

        Name = name;

        Age = age;

    }

    // Method

    public void PrintDetails()

    {

        Console.WriteLine($”Name: {Name}, Age: {Age}”);

    }

}

// Object instantiation

Person person1 = new Person(“Alice”, 25);

// Accessing object members

Console.WriteLine(person1.Name); // Output: Alice

person1.PrintDetails(); // Output: Name: Alice, Age: 25

“`

### Inheritance and Polymorphism

C# supports inheritance, allowing classes to inherit fields and methods from a base class. Polymorphism enables objects of different types to be treated as objects of a common base type.

C#

// Base class

class Shape

{

    public virtual void Draw()

    {

        Console.WriteLine(“Drawing a shape”);

    }

}

// Derived class

class Circle : Shape

{

    public override void Draw()

    {

        Console.WriteLine(“Drawing a circle”);

    }

}

// Polymorphic behavior

Shape shape = new Circle();

shape.Draw(); // Output: Drawing a circle

“`

Exception Handling

C# provides robust support for exception handling using `try`, `catch`, and `finally` blocks.

C#

try

{

    // Code that may throw an exception

}

catch (Exception ex)

{

    // Code to handle the exception

    Console.WriteLine($”An error occurred: {ex.Message}”);

}

finally

{

    // Optional cleanup code

}

“`

Application Domains

C# can be used to develop a wide range of applications across various domains:

1. Desktop Applications

C# is commonly used for building desktop applications using frameworks like Windows Presentation Foundation (WPF) and Windows Forms. These applications can range from simple utilities to complex enterprise software. With the help of C# user can develop Desktop Applications.

2. Web Applications With the advent of ASP.NET Core, C# is widely used for developing web applications and APIs. ASP.NET Core provides a powerful and scalable

framework for building web services, RESTful APIs, and full-fledged web applications. With the help of C# user can develop Web Application

3. Mobile Applications

C# can be used to develop cross-platform mobile applications using frameworks like Xamarin. Xamarin allows developers to write C# code that can run on both Android and iOS platforms, maximizing code reuse and minimizing development effort. With the help of C# user can develop Mobile Application.

4. Game Development

C# is a popular choice for game development, especially with the Unity game engine. Unity allows developers to create high-quality 2D and 3D games using C#, and provides a rich set of tools and assets for game. With the help of C# user can develop Gaming Application

Reference:-

Chatgpt

Leave a Comment

Your email address will not be published. Required fields are marked *

You cannot copy content of this page