Updated Available C# and .NET features (markdown)

James Groom 2022-07-14 02:30:31 +10:00
parent 3934117848
commit 69de6b7770
1 changed files with 6 additions and 2 deletions

@ -114,13 +114,17 @@ inline initialisation of [auto-props](https://docs.microsoft.com/en-us/dotnet/cs
^ C# 4 ^ | 🔵 `net48` | 🟢 `ns2.0` | --- ^ C# 4 ^ | 🔵 `net48` | 🟢 `ns2.0` | ---
[object initialisation syntax](https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/object-and-collection-initializers) | ✔️ | ✔️ | encouraged [object initialisation syntax](https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/object-and-collection-initializers) | ✔️ | ✔️ | encouraged
[partial methods](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/partial-method) | ✔️ | ✔️ | allowed [partial methods](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/partial-method) | ✔️ | ✔️ | allowed
[`var`](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/var) | ✔️ | ✔️ | encouraged [`var`](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/var) | ✔️ | ✔️ | preferred except when target-typed `new()` can be used
[extension methods](https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/extension-methods) | ✔️ | ✔️ | preferred over the same static method w/o `this` param [extension methods](https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/extension-methods) | ✔️ | ✔️ | allowed
[`Expression` trees](https://docs.microsoft.com/en-us/dotnet/csharp/expression-trees) | ✔️ | ✔️ | discouraged (what are these even for) [`Expression` trees](https://docs.microsoft.com/en-us/dotnet/csharp/expression-trees) | ✔️ | ✔️ | discouraged (what are these even for)
[lambdas](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/operators/lambda-expressions) | ✔️ | ✔️ | preferred over delegates [lambdas](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/operators/lambda-expressions) | ✔️ | ✔️ | preferred over delegates
LINQ's [query expression syntax](https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/linq/query-expression-syntax-for-standard-query-operators) | ✔️ | ✔️ | disallowed LINQ's [query expression syntax](https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/linq/query-expression-syntax-for-standard-query-operators) | ✔️ | ✔️ | disallowed
[anonymous types](https://docs.microsoft.com/en-us/dotnet/csharp/fundamentals/types/anonymous-types) | ✔️ | ✔️ | disallowed (use tuples) [anonymous types](https://docs.microsoft.com/en-us/dotnet/csharp/fundamentals/types/anonymous-types) | ✔️ | ✔️ | disallowed (use tuples)
[auto-props](https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/auto-implemented-properties) | ✔️ | ✔️ | encouraged [auto-props](https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/auto-implemented-properties) | ✔️ | ✔️ | encouraged
^ C# 3 ^ | 🔵 `net48` | 🟢 `ns2.0` | --- ^ C# 3 ^ | 🔵 `net48` | 🟢 `ns2.0` | ---
[anonymous delegates](https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/delegates/how-to-declare-instantiate-and-use-a-delegate) | ✔️ | ✔️ | disallowed
^ C# 2 ^ | 🔵 `net48` | 🟢 `ns2.0` | ---
[`using` alias](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/using-directive#using-alias) | ✔️ | ✔️ | discouraged unless there's a conflict [`using` alias](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/using-directive#using-alias) | ✔️ | ✔️ | discouraged unless there's a conflict
[anonymous types](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/operators/new-operator#instantiation-of-anonymous-types) | ✔️ | ✔️ | disallowed
[delegate constructors](https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/delegates/how-to-declare-instantiate-and-use-a-delegate) | ✔️ | ✔️ | disallowed
[`unsafe`](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/unsafe-code) (pointers etc.) | ✔️ | ✔️ | discouraged [`unsafe`](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/unsafe-code) (pointers etc.) | ✔️ | ✔️ | discouraged