Skip to content

ElliotOne/CSharpFull

Repository files navigation

CSharpFull

CSharpFull is a modular C# educational solution that demonstrates the entire language, from the absolute basics to advanced programming techniques. It is organized into multiple class library and console projects. Ideal for learners, educators, and interview preparation.

Project Structure

Each folder is a self-contained C# class library or console project. Click a folder name below to view its contents.

Fundamentals of C# programming:

  • _01_DataTypesAndConstant
  • _02_CastingAndTypeConversion
  • _03_DateAndTime
  • _04_ArithmeticOperators
  • _05_ConditionalStatement_IfElse
  • _06_ConditionalStatement_Switch
  • _07_ComparisionOperators
  • _08_LogicalOperators
  • _09_Strings
  • _10_Loop_For
  • _11_Loop_While
  • _12_Math
  • _13_Random
  • _14_ArraysAndForeachLoop
  • _15_NullableTypes
  • _16_TernaryOperators
  • _17_SafeNavigationOperator
  • _18_MultidimensionalArrays
  • _19_JaggedArrays

Object-Oriented Programming with examples and subfolders.

Methods

  • _01_Basic
  • _02_ValueVsReference
  • _03_Overloading
  • _04_StaticMethod
  • _05_RecursiveMethods
  • _06_Arguments
  • _07_ParamsKeyword
  • _08_ExtensionMethods

Classes

  • _01_Basic
  • _02_ConstructorAndDestructor
  • _03_SealedClass
  • _04_StaticClass
  • _05_PartialClass_part1
  • _05_PartialClass_part2
  • _06_NameSpaces
  • _07_Struct
  • _08_Enumeration
  • _09_GenericClass
  • _10_Indexers

Other OOP Concepts

  • _03_Inheritance: _01_AnimalExample, _02_VehicleExample
  • _04_Encapsulation: _01_AnimalExample
  • _05_Polymorphism: _01_ShapesExample, _02_ShapesExample_Abstraction
  • _06_Interfaces: I_01_Interface
  • _01_CarsExample_Full
  • _02_RegionKeyword
  • _03_ThisKeyword
  • WorldExample
  • Program
  • Entry point for testing OOP examples via Program.cs
  • _01_Basic
  • _01_StreamReaderAndWriter
  • _01_ArrayListAndList
  • _02_HashTableAndDictionary
  • _03_SortedList
  • _04_Stack
  • _05_Queue
  • _06_BitArray
  • _07_IEnumerableAndIEnumerator
  • _08_MoviesExample
  • _01_Delegate
  • _02_GenericDelegate
  • _03_AnonymousMethod
  • _04_LambdaExpressions
  • _05_FuncAndActionAndPredicate
  • _06_Events
  • _01_Assembly
  • _02_CultureInfo
  • _03_Attributes
  • _04_CustomAttributes
  • _05_Reflections
  • _06_SerializationAndDeserialization
  • _07_GUID
  • _08_PatternMatching
  • _01_MethodSyntax
  • _02_QuerySyntax
  • _03_linqWithMethods
  • Employee.cs
  • _01_Basic
  • _02_ParameterizedThreadStart
  • _03_DeadlocksAndLockKeyword
  • _04_Mutex
  • _05_Semaphore
  • Program.cs
  • _01_Tasks
  • _02_WaitingForTasks
  • _03_ReturningValueAndStatus
  • _04_CancelTask
  • _05_TaskRun
  • _06_AsyncAndAwait
  • _07_ConcurrentCollections
  • Program.cs
  • _01_Documentations
  • _02_DigitSeparator
  • _03_DefaultKeyword
  • _04_Tuples
  • _05_StopWatch
  • _06_Timer
  • _07_ExpressionBodiedMembers
  • _08_DynamicKeyword
  • _09_ReadonlyKeyword
  • _10_StaticDirectives
  • _11_PreprocessorDirectives
  • _12_UsingStatement
  • _13_RefReturnAndRefLocal
  • _14_YieldKeyword
  • _15_TimeSpan

Getting Started

  1. Clone the repository:

    git clone https://github.com/your-username/CSharpFull.git
    cd CSharpFull
    
  2. Open the solution in Visual Studio or JetBrains Rider.

  3. Build the solution and explore individual folders as needed.

Contribution

  • Contributions are welcome and appreciated. Here's how you can help:
  • Add new examples or projects that align with the structure
  • Refactor or modernize existing examples
  • Improve documentation or code comments
  • Report bugs or suggest new features via GitHub Issues

To contribute:

  1. Fork the repository
  2. Create a new branch: git checkout -b feature/my-feature
  3. Commit your changes: git commit -am "Add new example"
  4. Push to your branch: git push origin feature/my-feature
  5. Open a Pull Request

License

This project is open-source and available under the MIT License.

About

A complete review of C# language features to know

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages