Skip to content

C# tasks & projects from Software Development training at Savo Vocational College (SAKKY)

License

Notifications You must be signed in to change notification settings

prak112/DevSchool-Csharp

Repository files navigation

C# Learnings

SOURCE : Microsoft Learn-Down the Rabbit hole... :octocat:

Overview

  • This repository contains basic C# programs that demonstrate the fundamental concepts of C#, includes and not limited to :
    • Datatypes
    • String operations
    • Loops
    • Data Structures (Arrays, Lists)
    • Classes
  • The programs are written in Visual Studio 2022 and can be run on Windows, Linux or MacOS
  • Includes tasks and final assignment from Software Developer Training at Savon Ammattiopisto (SAKKY)

Table of Contents


Fundamentals

Features

  • Garbage Collection (check Source for more), i.e., automated reclamation of memory occupied by unreachable unused objects
  • LINQ, Language Integrated Query, to provide commmon-pattern syntax to work with data from any source

Program Execution

  • C# compiles the code to IL (Intermediate Language)
  • Code in IL is converted by .NET (CLR-Common Language Runtime & Set of Class libraries) to native-machine instructions by JIT (JustInTime) compilation

TYPE System

  • .NET Framework follows Common Type System or CTS.
  • CTS supports following 5 different categories :
    1. Classes
    2. Structures
    3. Enumerations
    4. Interfaces
    5. Delegates
  • RECORD, used to define any of the TYPES for storage and minimal associated behavior (for ex. record struct, record class, etc.)
  • VALUE TYPES (Immutable)
    • Simple (int, short, float, double, decimal, bool, char)
    • Enum
    • Struct (similar to class, but inherits from Object)
    • Nullable
    • Tuple
  • REFERENCE TYPES (Mutable)
    • Class
      • Unicode Strings (string)
      • User-defined
    • Interface (possible Network Programming feature)
    • Array
    • Delegate (equivalent to Decorators in Python)

Execution and Program Hierarchy

  • PROGRAMS (multiple Files and/or namespaces)
  • NAMESPACES (holds Classes, Properties and everything included in the Program)
  • TYPES (Value & Reference, ex. Class, Array, int, string, etc.)
  • MEMBERS (Methods, Properties)
  • ASSEMBLIES (Metadata, ex: .exe or .dll files)

Getting Started with C#

  • Find a suitable Environment based on situation :

Usage

Prerequisites

  • Visual Studio 2022
  • .NET Framework 6.0 or later

Installation

  1. Clone the repo
    git clone https://github.com/prak112/sakky-okk-Cperus.git
  2. Open the solution file in Visual Studio.

Working

  1. Create a new Project
  2. Build your Logic
  3. Click on <project_name>.sln file
  4. Debug the program
  5. Correct errors as shown in "Error List"

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

LinkedIn

About

C# tasks & projects from Software Development training at Savo Vocational College (SAKKY)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages