انواع داده های بی نام (Anonymous)

رتبه: 5 ار 1 رای SSSSS
Anonymous
نویسنده: تیم تولید محتوا زمان مطالعه 5 دقیقه
Banner Image

تا کنون، آموختیم که اشیاء از یک کلاس می آیند. یک کلاس با تعداد فیلدها، ویژگی ها و/یا متدها بیان می شود؛ و شما می توانید از این کلاس به عنوان یک شیء نمونه سازی کنید. با این حال، با معرفی انواع داده های بی نام؛ شما دیگر نمی توانید کلاسی را قبل از ایجاد یک شیء بیان کنید. نگران نباشید؛ کلاس ها در کل از بین نرفته اند، درست است که انواع بی نام داده ها (یا اشیاء) تاحدودی با محدودیت همراه هستند؛ اما برای برخی از موارد؛ انتخابی بسیار عالی هستند.

یک نوع داده بی نام با استفاده از اپراتور new ، در ترکیب با مقداردهی یک شیء؛ مقداردهی اولیه می شوند؛ به این ترتیب؛ این امر بسیار شبیه به نمونه سازی یک کلاس می باشد؛ شما فقط نام کلاس را انتخاب می کنید. همچنین؛ از آنجایی که کلاسی پشت شیء وجود ندارد؛ شما هنگامی که می خواهید مرجع شیء خودتان را بازیابی کنید؛ باید از کلید واژه var استفاده نمایید. این ممکن است به نظرتان پیچیده باشد؛ اما مثال زیر به شما نشان می دهد که این موضوع آنطور که به نظر می آید پیچیده نیست.

var user = new
{
Name = “John Doe”,
Age = 42
};
Console.WriteLine(user.Name + ” – ” + user.Age + ” years old”);

همه اش همین است که می بینید. ما اکنون یک شیء با اطلاعاتی در مورد یک کاربر (نام و سن) در اختیار داریم. انواع بی نام داده ها برای بسیاری از موقعیت ها عالی هستند؛ به ویژه زمانی که باید برخی چیزها را که پیچیده تر از یک رشته یا یک عدد هستند، به سرعت بازگردانید. انواع بی نام داده ها به شما اجازه می دهد که ویژگی هایی را در حین پردازش ایجاد کنید، بدون این که در مورد تعریف یک کلاس در ابتدا و جایگزینی این کلاس زمانی که نیاز به تغییرات دارید؛ نگران باشید. اما همانطور که ذکر شد؛ محدودیت هایی وجود دارد که باید هنگام استفاده از یک نوع بی نام داده ها در تعریف یک کلاس، در نظر داشته باشید.

  • برخلاف یک کلاس واقعی، یک داده ی بی نام نمی تواند یک فیلد یا متد داشته باشد – فقط ویژگی ها را دارد.
  • زمانی که شیء مقدار دهی شد؛ شما نمی توانید ویژگی هایی را به آن اضافه کنید.
  • ویژگی هایی که فقط خواندنی هستند – به محض این که شیء مقدار دهی شد؛ دیگر مقدار آنها قابل تغییر نیست.

اما همان طور که گفته شد؛ انواع بی نام داده ها همچنان برای بسیاری از وظایف، کاربردی هستند. یک استفاده ی معمولی از آنها؛ زمانی است که شما یک شیء پیچیده داشته باشید (از یک کلاس تعریف شده) و لازم باشد که آن را ساده سازی کنید؛ برای مثال ممکن است شما مجبور باشید که شیء را تا حد امکان کوچک نگه دارید تا آن را به یک مرورگر ارسال کنید؛ یا اینکه شاید شما یک شیء کامل دارید که اطلاعات حساسی را در بر می گیرد و شما نمی خواهید آن را در دسترس مشتری قرار بدهید. همان طور که در مثال زیر نشان داده می شود؛ به کار بردن داده های بی نام؛ در این موارد بسیار عالی است:

چرب زبان

پایگاه داده SQL Server رو قورت بده! بدون کلاس، سرعت 2 برابر، ماندگاری 3 برابر، پولسازی بلافاصله ... دانلود:

پک کامل SQL Server

پک مبانی برنامه نویسی (اختیاری)

using System;
using System.IO;

namespace AnonymousTypes
{
class Program
{
static void Main(string[] args)
{
string pathOfExe = System.Reflection.Assembly.GetEntryAssembly().Location;
FileInfo fileInfo = new FileInfo(pathOfExe);
var simpleFileInfo = new
{
Filename = fileInfo.Name,
FileSize = fileInfo.Length
};
Console.WriteLine(“File name: ” + simpleFileInfo.Filename + “. Size: ” + simpleFileInfo.FileSize + ” bytes”);
}
}
}

خط اول به سادگی filename آن فایلی را که در حال حاضر در حال اجرا می باشد؛ یعنی برنامه خودمان را دراختیار ما قرار می دهد. ما از این برای ایجاد یک نمونه از کلاس FileInfo استفاده می کنیم؛ که سپس اطلاعات زیادی درمورد این فایل خاص را شامل می شود. ما تمام این اطلاعات را نمی خواهیم؛ بنابراین؛ با استفاده از اطلاعاتی که از نمونه اصلی FileInfo داریم؛ یک نسخه ساده شده از آن را با یک نوع داده ی بی نام ایجاد می کنیم.

شما احتمالاً متوجه شده اید که ما به هر یک از ویژگی های تعریف شده در نوع بی نام؛ یک نام اختصاص داده ایم (FileInfo یا FileSize) – این امر میتواند معنای بسیار خوبی ایجاد کند؛ زیرا ما می خواهیم به آنها در ادامه دسترسی داشته باشیم. با این حال، زمانی که مبنای شیء خود را روی اطلاعاتی قرار می دهیم که از یک شیء موجود به دست آمده است؛ می توانیم درواقع نامی که خودمان می خواهیم انتخاب کنیم و به کامپایلر اجازه می دهیم که از نام ویژگی که ما اختصاص داده ایم؛ استفاده کند. مثال زیر را نگاه کنید:

var simpleFileInfo = new
{
fileInfo.Name,
fileInfo.Length
};

اکنون ما دو ویژگی داریم که به جای Filename و FileSize ؛ Name (نام) و Length (طول) نامیده می شوند. یکی از ساده سازی های خوبی که داده های بی نام ایجاد می کنند؛ زمانی است که شما به نام ها اهمیت نمی دهید یا به احتمال بیشتر؛ زمانی که شما در واقع، نام هایی مانند شیء اصلی را ترجیح می دهید:

خلاصه

داده های بی نام به شما اجازه می دهد که به سرعت یک شیء را با یک یا چند ویژگی نمونه سازی کنید. این ویژگی ها فقط خواندنی هستند و شما نمی تواند در ادامه کد نویسی؛ ویژگی های بیشتری را اضافه نمایید.

profile name
تیم تولید محتوا

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

مطالب پیشنهادی برای شما

محصولات مرتبط

مشاهده همه

دیدگاهتان را بنویسید

1 2 3 4 5

1 نظر درباره «انواع داده های بی نام (Anonymous)»

  • علیرضا
    علیرضا آیا این دیدگاه مفید بود ؟

    با سلام
    برای اسکرپ از سایتهایی مثل tsetmc که اجازه اسکرپ به رباتها نمی دهند، آیا ارسال request به لینک anonymous جوابگو است؟ ممنون می شم در این باره کمی توضیح دهید.

    پاسخ
مشاهده همه نظرات
سبد خرید
سبد خرید شما خالی است
× جهت نصب روی دکمه زیر در گوشی کلیک نمائید
آی او اس
سپس در مرحله بعد برروی دکمه "Add To Home Screen" کلیک نمائید