Alexandre Zollinger Chohfi (@AlexandreChohfi) writes:
If you are used to command-line apps, passing arguments to other apps is a very common task. Yes, you can manually parse those values, but once you have multiple parameters it can be a very error-prone code (which is mostly boilerplate anyway). This seems like a problem that someone else might have fixed already, right? So of course we can find a NuGet library that helps us parse these arguments.
Mads Torgersen writes:
With every new version of C# we strive for greater clarity and simplicity in common coding scenarios, and C# 9.0 is no exception. One particular focus this time is supporting terse and immutable representation of data shapes.
Source: C# 9.0 on the record | .NET Blog
In the previous post of this series, Dave Brock discussed the init-only features of C# 9, which allowed us to make individual properties immutable. That works great on a case-by-case basis, but the real power in leveraging C# immutability is when we can do this for custom types. This is where records shine.
This is the second post in a five-post series on C# 9 features in-depth.
Probably the most impactful feature of C# 8.0 is Nullable Reference Types (NRTs). It lets you make the flow of nulls explicit in your code, and warns you when you don’t act according to intent. The NRT feature holds you to a higher standard on how you deal with nulls,
|Thread based||By creating
||Managed Thread||Expensive, not recommended|
||Thread pool||Widely used, standard, recommended, support cancellation and continuation|
||Thread pool||Widely used, recommended use as much as possible|
|Delegate||By calling Delegate’s
||Thread pool||Less used|
|Event based||By subscribing to the appropriate event and calling the appropriate method||Thread pool||Avoid use as much as possible, not recommended|
|Task based||By creating
||A specified task scheduler||Recommended, supports all features of a thread pool pattern, and has many other features|
||Task based pattern||The new C# 5.0 asynchronous pattern|
Try out Nullable Reference Types With the release of .NET Core 3.0 Preview 7, C# 8.0 is considered “feature complete”. That means that the biggest feature of them all, Nullable Reference Types, is also locked down behavior-wise for the .NET Core release.
Rapidly create Shell Context Menu Extensions using .NET
Converting nearly every type to another type in .NET
“.NET does not provide a generic way for conversions across all types. Even the base types are not handled the same way. And not all possible conversions across the base types are supported. We had a look at the different techniques and ended up with the
UniversalTypeConverter as a generic solution filling the gaps and with some useful options on top.
Maybe, it is a historical thing that
TypeConverter is not used on all types. But this is definitely the way to go if you want to provide your own types being convertible.”