C# では、最も純粋な意味で複数の戻り値が許可されているとしましょう。
string sender = message.GetSender();
string receiver = message.GetReceiver();
に圧縮:
string sender, receiver = message.GetParticipants();
その場合、実際にメソッド呼び出しを行うまで、メソッドの戻り値を理解する必要はありません。おそらく、どのような戻り値を扱っているかを教えてくれる Intellisense に頼っているのかもしれませんし、なじみのないクラスから必要なものを返すメソッドを探しているのかもしれません。
同様に、現在、C# には次のようなものがあります。
string receiver;
string sender = message.GetParticipants(out receiver);
ここで、GetParticipants の引数は出力文字列パラメーターです。ただし、これは上記とは少し異なります。これは、out パラメーターの結果を保持する変数を作成するコードを先取りするか、少なくとも戻って記述する必要があることを意味するためです。これは少し直感に反します。
私の質問は、開発者がメソッド呼び出しと同じ行でこの宣言を行うことを可能にする、現在の C# に構文糖衣があるかどうかです。次のようなことをすると、開発が(少し)より流動的になり、コードが読みやすくなると思います。
string sender = message.GetParicipants(out string receiver);
受信者がその場で宣言され、割り当てられたことを示すため。