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