Explain how NATS works on a high level and then provide example with simplt e2e flow, use C#
NATS operates as a lightweight publish/subscribe messaging system where clients subscribe to subjects and publishers send messages, enabling decoupled communication patterns.
var client = new Client(new ConnectionConfig{Url="nats://localhost"});
await client.ConnectAsync();
await client.PublishAsync("hello", "world");