A short practical guide on using Task.WhenAny in C# when the parallel tasks return different types. Since WhenAny returns a Task, pattern matching can be used to determine which task completed first and extract its typed result. Includes a minimal working example with two async methods returning int and string respectively.