It's dangerous to code alone! Take this.

Converting Directions to Offsets

The following is one possible solution to this challenge.

using System;

Direction direction = Direction.South;

public enum Direction { North, East, South, West }

public record BlockOffset(int RowOffset, int ColumnOffset)
    public static implicit operator BlockOffset(Direction direction)
        return direction switch
            Direction.North => new BlockOffset(-1, 0),
            Direction.South => new BlockOffset(+1, 0),
            Direction.West => new BlockOffset(0, -1),
            Direction.East => new BlockOffset(0, +1)

public record BlockCoordinate(int Row, int Column);

// Answer this question: This problem didn't call out whether to make the conversion explicit or implicit.
// Which did you choose and why?
//    I chose to make it implicit because there was no data loss. But interestingly, in order to
//    actually use the conversion in my main method, I still explicitly stated the cast to get the
//    conversion to happen.