Structured show:
- 5 minutes ".NET check up"
- Doc Rx
- Let us perscribe you this doc, learn module, or blog post... or
- Codeoligest
- 5 minutes opening, intros
- 45 hallway track with guest
- 5 minutes closing
public readonly struct EnumerableRange : IEnumerable<int> | |
{ | |
readonly Range _range; | |
public EnumerableRange(Range range) | |
{ | |
if (range.Start.IsFromEnd || range.End.IsFromEnd) | |
{ | |
throw new ArgumentException(nameof(range)); | |
} |
Structured show:
- Doc Rx
- Let us perscribe you this doc, learn module, or blog post... or
- Codeoligest
π¨πΏβπ» π©πΏβπ» π¨πΎβπ» π©πΎβπ» π¨π½βπ» π©π½βπ» π¨πΌβπ» π©πΌβπ» π¨π»βπ» π©π»βπ»
public void Write(object o) | |
{ | |
if (o ! is string) | |
{ | |
Console.WriteLine("WTF?"); | |
} | |
else | |
{ | |
Console.WriteLine("OMG!"); | |
} |
In less than five years, Visual Studio Code (VS Code) has become the most popular integrated development environment (IDE) in the world. It's built with love and in the open on GitHub, and runs on Chromium (a tip of the hat to Google). VS code is extendable and in this talk we'll cover how to author your very own extension.
You can expect to learn how to:
![]() :bowtie: |
π :smile: |
π :laughing: |
π :blush: |
π :smiley: |
:relaxed: |
π :smirk: |
π :heart_eyes: |
π :kissing_heart: |
π :kissing_closed_eyes: |
π³ :flushed: |
π :relieved: |
π :satisfied: |
π :grin: |
π :wink: |
π :stuck_out_tongue_winking_eye: |
π :stuck_out_tongue_closed_eyes: |
π :grinning: |
public static Dictionary<TKey, TElement> ToDistinctDictionary<TSource, TKey, TElement>( | |
this IEnumerable<TSource> source, | |
Func<TSource, TKey> keySelector, | |
Func<TSource, TElement> elementSelector, | |
IEqualityComparer<TKey> comparer) | |
{ | |
if (source is null) throw new ArgumentNullException(nameof(source)); | |
if (keySelector is null) throw new ArgumentNullException(nameof(keySelector)); | |
if (elementSelector is null) throw new ArgumentNullException(nameof(elementSelector)); | |
This relies on the Newtonsoft.Json
package. Once added as a package reference to your C# project, add the following class. This is an extension methods class, containing two convenience-centric extension methods:
using static Newtonsoft.Json.JsonConvert;
namespace IEvangelist.Extensions
{
public static class ObjectExtensions
{
public static T FromJson<T>(this string json)
public class Coordinates
{
internal int X { get; }
internal int Y { get; }
internal int Z { get; }
public Coordinates(int x, int y)
{
X = x;