Tech

C# (C Sharp) cheat sheet

C# (C Sharp) cheat sheet. Explore our ultimate quick reference for C# (C Sharp).

This comprehensive C# cheat sheet is an essential guide for both beginners and experienced developers, providing a quick reference to basic syntax, commands, and features of the C# programming language. It covers everything from creating a simple "Hello, World!" program, understanding naming conventions, and handling various data types, to manipulating strings, working with arrays, and implementing conditionals and loops. Additionally, it offers practical tips on compiling and running code, and provides links to further resources for in-depth learning. This cheat sheet is a valuable tool for quick lookups and refreshing knowledge on C# programming essentials.

Getting Started

C# "Hello World"

class Hello {
// main method
static void Main(string[] args)
{
// Output: Hello, world!
Console.WriteLine("Hello, world!");
}
}

Creates a project directory for new console application

$ dotnet new console

lists all the applications templates

$ dotnet new list

Compiling and running (make sure you are in the project directory)

$ dotnet run
Hello, world!

Naming conventions

Kind Rule
Private Field _lowerCamelCase
Protected Field UpperCamelCase
Internal Field UpperCamelCase
Constant UpperCamel Case
Property UpperCamelCase
Method UpperCamelCase
Class UpperCamelCase
Interface IUpperCamelCase
Local Variable lowerCamelCase
Parameter lowerCamelCase

Variables

int intNum = 9;
long longNum = 9999999;
float floatNum = 9.99F;
double doubleNum = 99.999;
decimal decimalNum = 99.9999M;
char letter = 'D';
bool @bool = true;
string site = "cheatsheets.zip";

var num = 999;
var str = "999";
var bo = false;

Primitive Data Types

Data Type Size Range
int 4 bytes -2^31^ ^to^ 2^31^-1
long 8 bytes -2^63^ ^to^ 2^63^-1
float 4 bytes 6 ^to^ 7 decimal digits
double 8 bytes 15 decimal digits
decimal 16 bytes 28 ^to^ 29 decimal digits
char 2 bytes 0 ^to^ 65535
bool 1 bit true / false
string 2 bytes per char N/A

Comments

// Single-line comment

/* Multi-line
comment */

// TODO: Adds comment to a task list in Visual Studio

/// Single-line comment used for documentation

/** Multi-line comment
used for documentation **/

Strings

string first = "John";
string last = "Doe";

// string concatenation
string name = first + " " + last;
Console.WriteLine(name); // => John Doe

See: Strings

User Input

Console.WriteLine("Enter number:");
if(int.TryParse(Console.ReadLine(),out int input))
{
// Input validated
Console.WriteLine($"You entered {input}");
}

Conditionals

int j = 10;

if (j == 10) {
Console.WriteLine("I get printed");
} else if (j > 10) {
Console.WriteLine("I don't");
} else {
Console.WriteLine("I also don't");
}

Arrays

char[] chars = new char[10];
chars[0] = 'a';
chars[1] = 'b';

string[] letters = {"A", "B", "C"};
int[] mylist = {100, 200};
bool[] answers = {true, false};

Loops

int[] numbers = {1, 2, 3, 4, 5};

for(int i = 0; i < numbers.Length; i++) {
Console.WriteLine(numbers[i]);
}

foreach(int num in numbers) {
Console.WriteLine(num);
}

C# Strings

String concatenation

string first = "John";
string last = "Doe";

string name = first + " " + last;
Console.WriteLine(name); // => John Doe

String interpolation

string first = "John";
string last = "Doe";

string name = $"{first} {last}";
Console.WriteLine(name); // => John Doe

String Members

Member Description
Length A property that returns the length of the string.
Compare() A static method that compares two strings.
Contains() Determines if the string contains a specific substring.
Equals() Determines if the two strings have the same character data.
Format() Formats a string via the {0} notation and by using other primitives.
Trim() Removes all instances of specific characters from trailing and leading characters. Defaults to removing leading and trailing spaces.
Split() Removes the provided character and creates an array out of the remaining characters on either side.

Verbatim strings

string longString = @"I can type any characters in here !#@$%^&*()__+ '' \n \t except double quotes and I will be taken literally. I even work with multiple lines.";

Member Example

// Using property of System.String
string lengthOfString = "How long?";
lengthOfString.Length // => 9

// Using methods of System.String
lengthOfString.Contains("How"); // => true

More info