Using out parameters was always a bit painful. The biggest drawback is the need to declare variables before they can be used.
Deconstruction is a nice way to consume tuples. It’s a syntax that allows splitting a tuple into variables.
Tuples first appeared in C# with .NET Framework 4.0. They were supposed to be a lightweight alternative for small classes that were created if a method had to return more than one value.