Here is an overview of new features in C#:
- Out variables
- Pattern matching
- Tuples
- Deconstruction
- Discards
- Local Functions
- Binary Literals
- Digit Separators
- Ref returns and locals
- Generalized async return types
- More expression-bodied members
- Throw expressions
| // Out variables |
|
|
| // Old way |
| int parsedOld; |
| string parseMeOld = "222224"; |
|
|
| int.TryParse(parseMeOld, out parsedOld); |
| Console.WriteLine(parsedOld); |
|
|
| // New way |
| string parseMe = "3115"; |
|
|
| int.TryParse(parseMe, out int parsed); |
| Console.WriteLine(parsed); |
Tuples
List<int> numbers = new List<int> { 3, 5, 11, 4, 7 }; |
| var result = GetLowestHighest(numbers); |
|
|
| Console.WriteLine(result.Item1); // ugly? |
| Console.WriteLine(result.Item2); // yeah, ugly.. |
|
|
|
|
| // Notice the return type of the method. It's tuple |
| private static(int, int) GetLowestHighest(IReadOnlyCollection < int > numbers) { |
| int lowest = numbers.Min(n => n); |
| int highest = numbers.Max(n => n); |
|
|
| return (lowest, highest); |
| } |
0 Comments