صفحه 1 از 2 12 آخرینآخرین
نمایش نتایج: از شماره 1 تا 10 از مجموع 17
  1. #1
    عضو تازه وارد
    تاریخ عضویت
    2020 March
    ارسال ها
    7
    تشکر
    0
    تشکر شده 0 بار در 0 پست


    آيا اين پست براي شما سودمند بود؟ بله | خیر

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

    تا کنون، آموختیم که اشیاء از یک کلاس می آیند. یک کلاس با تعداد فیلدها، ویژگی ها و/یا متدها بیان می شود؛ و شما می توانید از این کلاس به عنوان یک شیء نمونه سازی کنید. با این حال، با معرفی انواع داده های بی نام؛ شما دیگر نمی توانید کلاسی را قبل از ایجاد یک شیء بیان کنید. نگران نباشید؛ کلاس ها در کل از بین نرفته اند، درست است که انواع بی نام داده ها (یا اشیاء) تاحدودی با محدودیت همراه هستند؛ اما برای برخی از موارد؛ انتخابی بسیار عالی هستند.
    یک نوع داده بی نام با استفاده از اپراتور new ، در ترکیب با مقداردهی یک شیء؛ مقداردهی اولیه می شوند؛ به این ترتیب؛ این امر بسیار شبیه به نمونه سازی یک کلاس می باشد؛ شما فقط نام کلاس را انتخاب می کنید. همچنین؛ از آنجایی که کلاسی پشت شیء وجود ندارد؛ شما هنگامی که می خواهید مرجع شیء خودتان را بازیابی کنید؛ باید از کلید واژه var استفاده نمایید. این ممکن است به نظرتان پیچیده باشد؛ اما مثال زیر به شما نشان می دهد که این موضوع آنطور که به نظر می آید پیچیده نیست.
    var user = new
    {
    Name = “John Doe”,
    Age = 42
    };
    Console.WriteLine(user.Name + ” – ” + user.Age + ” years old”);
    همه اش همین است که می بینید. ما اکنون یک شیء با اطلاعاتی در مورد یک کاربر (نام و سن) در اختیار داریم. انواع بی نام داده ها برای بسیاری از موقعیت ها عالی هستند؛ به ویژه زمانی که باید برخی چیزها را که پیچیده تر از یک رشته یا یک عدد هستند، به سرعت بازگردانید. انواع بی نام داده ها به شما اجازه می دهد که ویژگی هایی را در حین پردازش ایجاد کنید، بدون این که در مورد تعریف یک کلاس در ابتدا و جایگزینی این کلاس زمانی که نیاز به تغییرات دارید؛ نگران باشید. اما همانطور که ذکر شد؛ محدودیت هایی وجود دارد که باید هنگام استفاده از یک نوع بی نام داده ها در تعریف یک کلاس، در نظر داشته باشید.

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

    اما همان طور که گفته شد؛ انواع بی نام داده ها همچنان برای بسیاری از وظایف، کاربردی هستند. یک استفاده ی معمولی از آنها؛ زمانی است که شما یک شیء پیچیده داشته باشید (از یک کلاس تعریف شده) و لازم باشد که آن را ساده سازی کنید؛ برای مثال ممکن است شما مجبور باشید که شیء را تا حد امکان کوچک نگه دارید تا آن را به یک مرورگر ارسال کنید؛ یا اینکه شاید شما یک شیء کامل دارید که اطلاعات حساسی را در بر می گیرد و شما نمی خواهید آن را در دسترس مشتری قرار بدهید. همان طور که در مثال زیر نشان داده می شود؛ به کار بردن داده های بی نام؛ در این موارد بسیار عالی است:
    using System;
    using System.IO;
    namespace AnonymousTypes
    {
    class Program
    {
    static void Main(string[] args)
    {
    string pathOfExe = System.Reflection.Assembly.GetEntryAssembly().Loca tion;
    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 (طول) نامیده می شوند. یکی از ساده سازی های خوبی که داده های بی نام ایجاد می کنند؛ زمانی است که شما به نام ها اهمیت نمی دهید یا به احتمال بیشتر؛ زمانی که شما در واقع، نام هایی مانند شیء اصلی را ترجیح می دهید:
    12 نکته بسیار مهم راجب نحوه مصرف موثر آب پنیر و خواص آن که نمیدانستید
    15 تا از جدیدترین و جالبترین خواص و عوارض شیرین بیان (تحقیقات 2020)
    6 تا از بدترین مضرات لیموترش طبق تحقیقات جدید انجام شده در دنیا
    آموزش اچ تی ام ال
    15 تا از جدیدترین و جالبترین خواص و عوارض شیرین بیان (تحقیقات 2020)


    خلاصه

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

    موضوعات مشابه:
    ویرایش توسط ayla44 : 28th March 2020 در ساعت 01:11 PM

  2. #2
    Banned
    تاریخ عضویت
    2020 August
    ارسال ها
    116
    تشکر
    0
    تشکر شده 0 بار در 0 پست

  3. #3

  4. #4
    Banned
    تاریخ عضویت
    2020 August
    ارسال ها
    116
    تشکر
    0
    تشکر شده 0 بار در 0 پست

  5. #5

  6. #6
    Banned
    تاریخ عضویت
    2020 August
    ارسال ها
    116
    تشکر
    0
    تشکر شده 0 بار در 0 پست

  7. #7
    Banned
    تاریخ عضویت
    2020 August
    ارسال ها
    116
    تشکر
    0
    تشکر شده 0 بار در 0 پست

  8. #8

  9. #9

  10. #10

 

 
صفحه 1 از 2 12 آخرینآخرین

کاربران برچسب خورده در این موضوع

علاقه مندی ها (Bookmarks)

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  


Powered by vBulletin
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.6.0
Persian Language By Ustmb.ir
این انجمن کاملا مستقل بوده و هیچ ارتباطی با دانشگاه علوم و فنون مازندران و مسئولان آن ندارد..این انجمن و تمامی محتوای تولید شده در آن توسط دانشجویان فعلی و فارغ التحصیل ادوار گذشته این دانشگاه برای استفاده دانشجویان جدید این دانشگاه و جامعه دانشگاهی کشور فراهم شده است.لطفا برای اطلاعات بیشتر در رابطه با ماهیت انجمن با مدیریت انجمن ارتباط برقرار کنید
ساعت 12:03 PM بر حسب GMT +4 می باشد.