معرفی
همانطور که همه می دانید راه های مختلفی برای برگرداندن بیش از یک نوع داده از یک تابع در سی شارپ وجود دارد. من قصد دارم نحوه برگرداندن چندین مقدار از یک تابع سی شارپ را با استفاده از Tuple توضیح دهم.
قبل از اینکه به بهبود Tuple بپردازم، بیایید سعی کنیم با یک مثال کوچک درک کنیم که این قبل از C# 7.0 چگونه کار می کند.
اجازه دهید کلاسی به نام Calculator ایجاد کنیم. این کلاس یک متد به نام GetAritmenticOpeartionsPriorCsharp7 دارد که دو پارامتر عدد صحیح را می پذیرد. این تابع مجموع و مقادیر ضرب شده ورودی های ارائه شده را برمی گرداند.
![C# 7 بهبود تاپل](http://pezhvak24.ir/dl/codenevis/firstcode/article/c-sharp-7-tuple-improvement/Images/1.png)
تابع GetAritmenticOpeartionsPriorCsharp7 دو مقدار صحیح را برمی گرداند. مقدار اول مجموع ورودی ها و مقدار دوم ضرب ورودی های عرضه شده است.
حالا بیایید این روش را از یک برنامه کنسولی، مانند شکل زیر، فراخوانی کنیم.
![C# 7 بهبود تاپل](http://pezhvak24.ir/dl/codenevis/firstcode/article/c-sharp-7-tuple-improvement/Images/2.png)
بیایید این برنامه را اجرا کنیم و خروجی را پیدا کنیم.
![C# 7 بهبود تاپل](http://pezhvak24.ir/dl/codenevis/firstcode/article/c-sharp-7-tuple-improvement/Images/priorc7out.png)
همه چیز همانطور که انتظار می رفت کار کرد. یکی از مشکلات این رویکرد این است که مقادیر تاپلی به صورت Item1 و Item2 مورد دسترسی قرار می گیرند. مصرف کننده نمی داند که آیا آیتم 1 نشان دهنده جمع است و آیتم 2 نشان دهنده محصول است. توسعه دهنده باید به یاد داشته باشد که کدام پارامترها به چه چیزی تعلق دارند. خیلی خوب می شد اگر می توانستیم Item1 را به Sum و Item2 را به Product تغییر نام دهیم.
خوشبختانه C# 7 از این پشتیبانی می کند. در عمل ببینیم
بیایید همان کلاس Calculator را با استفاده از نحو C# 7 ایجاد کنیم. یک متد استاتیک به نام GetAritmenticOpeartionsInCsharp7 مانند شکل زیر ایجاد کنید.
![C# 7 بهبود تاپل](http://pezhvak24.ir/dl/codenevis/firstcode/article/c-sharp-7-tuple-improvement/Images/c71.png)
در این رویکرد، من به صراحت از جمع 2 عدد به متغیر 'Sum' و ضرب نتایج در متغیر 'Product' ترسیم کرده ام.
حالا بیایید کد برنامه کنسول را مطابق شکل زیر بازنویسی کنیم.
![C# 7 بهبود تاپل](http://pezhvak24.ir/dl/codenevis/firstcode/article/c-sharp-7-tuple-improvement/Images/c72.png)
اکنون از متغیر خروجی، می توانم تعیین کنم که خروجی «Sum» و «Product» کدام است. خروجی برنامه در زیر نشان داده شده است.
![C# 7 بهبود تاپل](http://pezhvak24.ir/dl/codenevis/firstcode/article/c-sharp-7-tuple-improvement/Images/c73.png)
همه چیز همانطور که انتظار می رفت کار کرد. امیدوارم که همگی لذت برده باشید.
خلاصه
این مقاله در مورد برخی از تغییرات جدید معرفی شده در C# 7.0 در مورد Tuples صحبت می کند.