DEV Community

Hassan BOLAJRAF
Hassan BOLAJRAF

Posted on • Updated on

C# | Tips and tricks

Note
You can check other posts on my personal website: https://hbolajraf.net

C# tips and tricks

C# is a versatile programming language that offers many features and techniques to make your coding more efficient and maintainable. In this document, we'll explore some useful tips and tricks for C# development.

1. String Interpolation

String interpolation allows you to embed expressions directly within string literals. It's a cleaner and more readable way to concatenate strings and variables.

string name = "Hassan";
int age = 35;
string message = $"Hello, {name}! You are {age} years old.";
Enter fullscreen mode Exit fullscreen mode

2. Null Conditional Operator

The null-conditional operator (?.) simplifies null checks, making your code more concise and less error-prone.

int? length = text?.Length;
Enter fullscreen mode Exit fullscreen mode

3. Deconstruction

Deconstruction allows you to assign values from a tuple or an object to separate variables in a single line.

var (x, y) = GetCoordinates();
Enter fullscreen mode Exit fullscreen mode

4. Pattern Matching

Pattern matching simplifies conditional statements by checking for specific patterns in data, making your code more readable.

if (obj is int number)
{
    // Use 'number' as an int
}
Enter fullscreen mode Exit fullscreen mode

5. Local Functions

Local functions are functions defined within another method, making your code more modular and improving encapsulation.

int Calculate(int a, int b)
{
    int Add(int x, int y) => x + y;
    return Add(a, b);
}
Enter fullscreen mode Exit fullscreen mode

6. LINQ (Language Integrated Query)

LINQ allows for elegant and efficient querying of collections and databases.

var result = from person in people
             where person.Age > 35
             select person.Name;
Enter fullscreen mode Exit fullscreen mode

7. Ternary Operator

The ternary operator is a concise way to write simple conditional expressions.

string result = (condition) ? "True" : "False";
Enter fullscreen mode Exit fullscreen mode

8. Using Statement

The using statement simplifies resource management, ensuring that disposable objects are properly disposed of when no longer needed.

using (var stream = new FileStream("file.txt", FileMode.Open))
{
    // Work with the file stream
}
Enter fullscreen mode Exit fullscreen mode

9. Async/Await

Async and await make asynchronous programming more readable and maintainable.

async Task<string> DownloadAsync(string url)
{
    var data = await DownloadDataAsync(url);
    return Encoding.UTF8.GetString(data);
}
Enter fullscreen mode Exit fullscreen mode

10. Extension Methods

You can add new methods to existing types using extension methods, enhancing code reusability.

public static class StringExtensions
{
    public static bool IsNullOrEmpty(this string value)
    {
        return string.IsNullOrEmpty(value);
    }
}
Enter fullscreen mode Exit fullscreen mode

What Next?

These are just a few of the many tips and tricks that can help you become a more proficient C# developer.
As you continue to work with C#, explore its vast ecosystem to improve your skills and productivity.

Top comments (2)

Collapse
 
pauljlucas profile image
Paul J. Lucas

This is mistagged. #c is only for C.

Collapse
 
hbolajraf profile image
Hassan BOLAJRAF

Fixed ;)