Tuples چیست؟

Tuple به ما (توسعه دهندگان) این امکان را می دهد که چندین عنصر را در یک ساختار داده بدون ایجاد یک شی پیچیده مانند مدل، DTO یا ViewModels گروه بندی کنیم.

بنابراین، شما در مواقعی که فقط می خواهید مقادیری را از متد خود برگردانید، اما نمیخواهید یک مدل یا DTO ایجاد کنید، زیرا شما فقط یک بار از آن استفاده خواهید کرد، یا به هر دلیل دیگر نمیخواهید؟ تاپل ها بهترین راه حل برای این مشکل هستند! شما می توانید از Tuples برای برگرداندن مقادیر مستقیم بدون ایجاد هیچ شیء دیگری استفاده کنید. فوق العاده به نظر می رسد، اینطور نیست؟ به هر حال، بیایید ببینیم در موضوع زیر چگونه به نظر می رسد!

درک و پیاده سازی تاپل

اکنون که می دانید Tuples در مورد چیست، اجازه دهید به کد نگاه کنیم.

(string fn, string ln, string lvl) GetDevelopersNameById(in int id)
{
    // Bussiness Logic
    // ...
    return ("first name", "last name", "senior");
}

در بالا می توانید ببینید که چگونه می توان یک متد را برای بازگشت تاپل بدون استفاده از اشیاء پیچیده برای آن اعلام کرد. حتی می‌توانید لیست‌ها، مجموعه‌ها را برگردانید، از قبل اشیاء پیچیده در Tuple شما وجود دارد، اما برای سادگی، من فقط از رشته‌ها استفاده کردم.

اکنون، بیایید ببینیم چگونه می توانید متدی که نوشته ایم و یک تاپل را برمی گرداند فراخوانی کنید

// Calling method
(string firstName, string lastName, string level) = GetDevelopersNameById(1);

// Using values returned from the Tuple
string fullName = $"DEVELOPER: {firstName} {lastName} - LEVEL: {level}";

Console.WriteLine(fullName);
// DEVELOPER: first name last name - LEVEL: senior

بدین ترتیب می‌توانید متدی را فراخوانی کنید که با مشخص کردن صریح هر مقداری که انتظار دارید، یک Tuple برمی‌گرداند. خیلی آسان است، اینطور نیست؟ وقتی می‌خواهید از چیزی سریع‌تر و ساده‌تر استفاده کنید، این راه حل بسیار مناسب است!

مزایای آن چیست؟

مهمترین مزیت استفاده از Tuples این است که برای برگرداندن چندین عنصر نیازی به ایجاد یک شی پیچیده ندارید، که باعث می شود کد شما خواناتر و قابل فهم تر شود.

اما مراقب باشید! تاپل ها عالی هستند اما به این معنی نیست که باید در هر سناریویی از آنها استفاده کنید. در بیشتر موارد، استفاده از یک شی پیچیده منطقی است.

نتیجه

خوب، همانطور که می بینید، تاپل ها عالی هستند! امیدواریم از این مقاله لذت برده باشید. برای پست های بیشتر مانند این من را دنبال کنید. با تشکر، شما را در مقالات بعدی میبینم!

مترجم : لازم بود که جایی که خیلی تاپل ها کارهایی دارن و به راحتی مشکل مارو حل میکنند رو گوش زد کنم بازگرداندن لیست ها و آرایه ها از نوع ساختمانهای داده مثل Struct ها از یک قرارداد هوشمند که این موضوع در آموزش های مرتبط با شبکه اتریوم در سایت توضیح داده شده است.

 

 

منبع : medium.com