Interact with UCI Chess Engines, in this case Stockfish, through a wrapper library which provides intuitive methods.
static void Main(string[] args) {
IStockfishEngine sharpfish = new Sharpfish.StockfishEngine(@"path\to\stockfish")
}await sharpfish.setFenPosition("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1");
string bestMove = await sharpfish.GetBestMove(); // e2e4