زبان برنامه نویسی سی شارپ
سی شارپ نسخه 7
بیایید با تاپل شروع کنیم. اول از همه ، در اینجا من یک برنامه کامل دارم. سپس مقادیر عددی در آن وجود دارد. از آنجا که درک اعداد بسیار آسان است ، اما شاید همه معنای آن را نمی دانند: آنچه اکنون داریم کلمات دوتایی است. این یک ویژگی بسیار کوچک است. این موارد هنگامی که به فرزندان خود برنامه نویسی می دهید بسیار مفید است. کسانی که زیر این اعداد هستند بیت هستند. من اکنون می خواهم یک مورد دیگر اضافه کنم. ما در اینجا جدا کننده اعداد نیز داریم. درست مثل سایر زبانها ، شما می توانید این جداکننده ها را در جایی که به آنها نیاز دارید قرار دهید تا خواندن اعداد راحت تر شود.
من قصد دارم روشی به نام Tally را اجرا کنم که اعداد آرایه را جمع می کند تا نتیجه محاسبه را بدست آورد. بنابراین می توانیم این روش Tally را روی این اعداد فراخوانی کنیم. البته ، من هنوز این روش را اجرا نکرده ام ، بیایید از refactoring برای تولید این روش استفاده کنیم. این یک روش ایستا است. در حال حاضر مقدار بازگشتی آن باطل است. شاید باید چیز دیگری را برگرداند. فکر می کنم باید این مقدار تجمعی را برگرداند یا مستقیماً تعداد کل اعداد را برگرداند؟ من فکر می کنم هر دو بسیار مهم هستند. اما اکنون در C # فقط می توانید یک چیز را برگردانید ، اما در آینده نزدیک می توانید دو مقدار برگشتی یا حتی سه ، چهار یا بیشتر را برگردانید. در صورت تمایل می توانید یک تاپل بسیار بزرگ ایجاد کنید ، اما این ایده بدی است.
حالا اجازه دهید دو مقدار int را برگردانیم. این یک نوع تاپل است. این نشان می دهد که دو نوع int وجود دارد که درک آنها آسان است. در اینجا یک تاول واقعی وجود دارد ، ما هنوز هم برخی از مقادیر ساختگی را ابتدا برمی گردانیم. این شامل برخی مقادیر مورد نیاز است که درون پرانتز و ویرگول قرار می گیرد. البته این نحو باید نسبتاً طبیعی باشد. وقتی از این روش استفاده می کنم ، می توانم مقدار برگشتی آن را بدست آورم ، و سپس متوجه می شوم که یک نوع تاپل دارم.
بنابراین چگونه از تاپل استفاده کنیم؟ بیایید آن را صادر کنیم. قرار دادن رشته جمع ممکن است در اینجا در موقعیت اول باشد. بیایید نگاهی بیندازیم که tuples چیست: Item1 و Item2. بدیهی است که ما می دانیم که آنها نماینده چه چیزی هستند و می توانیم مستقیماً از این دو نام استفاده کنیم. اگرچه نام بد است ، اما فقط جواب می دهد. Tuples در C # همچنین می تواند نام های مختلفی را به عناصر مختلف بدهد. در اینجا نام هر عنصر را مشخص می کنم. چه مفهومی داره؟
وقتی این تاپل را گرفتم ، می تواند به من بگوید که عناصر موجود در آن چیست. این همچنین بدان معنی است که وقتی به اینجا آمدم ، کمی دستور زبان را تایپ کردم تا این پیش نمایش ها را ببینم ؛ نسخه نهایی باید این نام های بد را پنهان کند. در اینجا خواهیم دید که نام واضحی دارد ، زیرا در اینجا می توانید جمع را مشاهده کنید ، می توانیم مستقیماً از آن استفاده کنیم تا مقدار مربوطه را در تاپل بدست آوریم. موارد قبلی نام واقعی در لایه پایین بودند ، اما کامپایلر می داند این نام های مستعار را ردیابی کرده و به جای نمایش از آنها استفاده کند.
داشتن نام مستعار عناصر در یک تاپل بسیار مهم است ، زیرا ممکن است به یاد نداشته باشید این تاپل نام کوچک است یا نام کوچک؟ بنابراین ، tuples باید این اطلاعات را ارائه دهند تا به راحتی قابل درک باشد. شما به توانایی دستیابی به نام مستعار نیاز دارید.
البته احتمالاً شما می خواهید بلافاصله با بدست آوردن تاپل آن را از بین ببرید و مقادیر آن را جدا کنید البته می توانید این کار را در C # نیز انجام دهید. می توانید مجموع را اعلام کنید ، اینجا حساب کنید و سپس بلافاصله tuple به یک متغیر sum و یک متغیر شمارش تجزیه می شود. به این ترتیب دیگر نمی توانیم از پیشوند t استفاده کنیم بلکه مستقیماً از sum و count استفاده می کنیم.
البته ، این یک روش عالی برای بدست آوردن مقادیر متعدد از یک روش ناهمزمان است ، زیرا اگر عملیات ناهمزمان باشد ، می توانید یک Task از Task را برگردانید تا قبل از تمام شدن عملیات به نوبت صبر کنید. به محض دریافت تاپل ، می توانید آن را از بین ببرید و ادامه دهید. تاپلز یک ابزار انتقال خوب است. برای متدهای async و سایر روش ها ، اگر مقادیر بازگشتی چندگانه وجود داشته باشد ، بسیار بد است ، زیرا شما نمی توانید چندین پارامتر را خارج کنید ، اما اکنون می توانید از طریق tuples به این عملیات دست پیدا کنید!
https://academy.realm.io/cn/posts/goto-mads-torgersen-why-take-another-look-at-c-sharp/