Cómo enviar una solicitud HTTP POST en .NET (C#) con cuerpo JSON
¡Hola a todos! Soy nuevo en C# y .NET, y no puedo entender cómo enviar solicitudes POST. Necesito enviar datos a un servidor en formato JSON, pero todos los ejemplos que encuentro en internet usan la clase obsoleta `HttpWebRequest` o bibliotecas confusas.
Esto es lo que intento hacer: tengo una clase de datos simple:
```csharp
public class UserData
{
public string Name { get; set; }
public int Age { get; set; }
}
```
Y quiero enviar este objeto a la URL `https://api.example.com/users` mediante el método POST.
El problema es que no entiendo cómo serializar correctamente el objeto a JSON, cómo establecer los encabezados (Content-Type), y cómo leer la respuesta del servidor. Intenté usar `HttpWebRequest`, pero el código resulta muy engorroso, y constantemente recibo errores como "The remote server returned an error: (400) Bad Request".
Por favor, indíquenme la forma moderna y correcta de enviar una solicitud HTTP POST en .NET (estoy usando .NET 6 o .NET 8). Especialmente