Understanding List vs Dictionary in C# With Examples

When it comes to working with collections in C#, you’ll often find yourself deciding between using a List or a Dictionary, as both serve for storing and managing data and belong to System.Collection.Generics namespace.

In this article, we’ll discuss List vs Dictionary in C# with Examples and will understand when to use each and why.

list vs dictionary in csharp

Read more >>

Palindrome program in C# with examples

Palindrome – What’s That?

A palindrome is a sequence of characters that reads the same forward and backwards. In the context of numbers, A palindrome number is the same number when reversed.

  • Palindrome number examples: 121, 131, 34543, etc.
  •  Palindrome string examples include “level,” “radar,” and “madam.”

In this article, we’ll learn how to write a Palindrome program in C#.

Read more >>

How to remove special characters from a string in C#

Understanding the Challenge

Before diving into the code, let’s grasp the concept of special characters. Special characters are those that fall outside the realm of alphanumeric characters. 

They include symbols like '@', '#', '$', '%', and more. The goal is to create a C# program that efficiently removes these special characters from a given string and allowed characters are A-Z (uppercase or lowercase) and numbers (0-9).

Read more >>

Understanding the Difference Between Overriding and Overloading in C#

When it comes to object-oriented programming in C#, The two important concepts of Polymorphism are overriding and overloading. 

Overloading in C# is determined at compile-time and is static. It involves the creation of methods with the same name but different parameters within the same class.
In contrast, Overriding is a dynamic process determined at runtime, allowing you to provide a different implementation of a method in classes that inherit from a common base class.

In this article, we will learn the differences between overriding and overloading in C# with practical examples to make these concepts crystal clear.

Overriding and Overloading in C#

Read more >>

Static vs Singleton in C#: Understanding the Key Differences

When it comes to managing data and resources in C#, most developers often encounter the need to create and use objects that have a single instance throughout the lifetime of an application. Two common design patterns used for this purpose are Static and Singleton.

In this article, we will explore the differences between these two patterns and their use cases and provide code examples with detailed explanations.

static-vs-singleton

Read more >>

Understanding the C# Interface Segregation Principle (ISP) with Examples

In this article, we will learn about the C# Interface Segregation Principle (ISP), which states that a class should not forced to implement Interface methods they don’t use.

It promotes the creation of focused, smaller, and modular interfaces to prevent clients from implementing methods they don’t need. 

We will learn its significance and how it can be applied using C# code examples.

csharp interface segregation principle

Read more >>

Understanding Covariance and Contravariance in C# – A Comprehensive Guide

The concepts of Covariance and Contravariance in C# might initially sound complex, but fear not! By the end of this article, you’ll have a crystal-clear understanding of how they work and how to leverage them in your C# programming.

“Covariance and Contravariance are terms used in programming languages to describe how subtypes relate to their base types. Covariance is when a derived type can be used where a base type is expected. On the other hand, Contravariance is when a base type can be used where a derived type is expected.

Covariance and contravariance deal with how type conversions are allowed between reference types in C#. These concepts come into play when working with arrays, delegates, and interfaces.

Covariance and Contravariance in C#

Read more >>