https://github.com/prak112/devschool-csharp
C# tasks & projects from Software Development training at Savo Vocational College (SAKKY)
https://github.com/prak112/devschool-csharp
beginner-friendly c-sharp-learning
Last synced: 7 months ago
JSON representation
C# tasks & projects from Software Development training at Savo Vocational College (SAKKY)
- Host: GitHub
- URL: https://github.com/prak112/devschool-csharp
- Owner: prak112
- License: mit
- Created: 2023-03-23T11:10:12.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2023-05-22T17:04:53.000Z (almost 3 years ago)
- Last Synced: 2025-01-15T01:41:55.326Z (over 1 year ago)
- Topics: beginner-friendly, c-sharp-learning
- Language: C#
- Homepage:
- Size: 102 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# C# Learnings
*SOURCE : [Microsoft Learn-Down the Rabbit hole...](https://learn.microsoft.com/en-us/dotnet/csharp/tour-of-csharp/)* :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](#fundamentals)
- [Type System](#type-system)
- [Execution and Program Hierarchy](#execution-and-program-hierarchy)
- [Getting Started with C#](#getting-started-with-c#)
- [Usage](#usage)
- [License](#license)
-------------
## 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](https://learn.microsoft.com/en-us/dotnet/standard/base-types/common-type-system).
- 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 :
- [Online Environment](https://learn.microsoft.com/en-us/dotnet/csharp/tour-of-csharp/tutorials/), i.e., Browser based/ Microsoft Learn/ Jupyter on Binder Tutorials
- [Local Environment](https://learn.microsoft.com/en-us/dotnet/csharp/tour-of-csharp/tutorials/local-environment), i.e., Personal Device
------------
## Usage
### Prerequisites
- Visual Studio 2022
- .NET Framework 6.0 or later
### Installation
1. Clone the repo
```sh
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 ```.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][linkedin-shield]][linkedin-url]
[!contributors-shield]: https://img.shields.io/github/contributors/othneildrew/Best-README-Template.svg?style=for-the-badge
[contributors-url]: https://github.com/othneildrew/Best-README-Template/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/othneildrew/Best-README-Template.svg?style=for-the-badge
[forks-url]: https://github.com/othneildrew/Best-README-Template/network/members
[stars-shield]: https://img.shields.io/github/stars/othneildrew/Best-README-Template.svg?style=for-the-badge
[stars-url]: https://github.com/othneildrew/Best-README-Template/stargazers
[issues-shield]: https://img.shields.io/github/issues/othneildrew/Best-README-Template.svg?style=for-the-badge
[issues-url]: https://github.com/othneildrew/Best-README-Template/issues
[license-shield]: https://img.shields.io/github/license/prak112/Best-README-Template.svg?style=for-the-badge
[license-url]: https://choosealicense.com/licenses/mit/
[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge&logo=linkedin&colorB=555
[linkedin-url]: https://www.linkedin.com/in/prakirth-govardhanam-3a185156/
[product-screenshot]: images/screenshot.png