«یا اللهُ یا رَبِّ یا حَیُّ یا قَیّوم یا ذَالجَلالِ وَ الاکرام اَسئَلُکَ بِاسمِکَ اَلعَظیم اَلاَعظَم اَن تَرزُقَنی رِزقاً حَلالاً طَیِّباً بِرَحمَتِکَ الواسِعَه یا اَرحَمَ الرّاحِمِین.»
Expression-Bodied Members در سیشارپ :: گیم اور _ بازیسازی با unity + مطالب متفرقه

گیم اور _ بازیسازی با unity + مطالب متفرقه

آموزش های علمی با اجازه ی خدا تقدیم به هرکس خدا بخواد

آموزش های علمی با اجازه ی خدا تقدیم به هرکس خدا بخواد

به نام خدا
--
گروه قدیم ما promakers.ir یا پرومیکرز بود که بالای هزار اموزش توش ساخته بودم به اسم sajjad3011 ولی حیف ادمین سایتش عوض کرد
حالا سوالی بود کاری بود این شمارمه

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

---
سوالی بود بذارید
نظر خصوصی نذارید
پاسخش سخته
دوست داشتید شماره بذارید تو واتساپ یا ایتا یا .... گروه بزنیم.
09358077198

بایگانی
پیوندها

Expression-Bodied Members در سیشارپ

پنجشنبه, ۲۲ مهر ۱۳۹۵، ۰۸:۴۰ ب.ظ

gameover.blog.ir


Expression-bodied members یکی از ویژگی های سی شارپ 6 بوده که به شما اجازه استفاده از لامبدا برای کدنویسی راحت تر متدها، خاصیتها، سربارگذاری عملگرها و ایندکسرهای یک کلاس را می دهد. با وجود این ویژگی شما به جای نوشتن بدنه یک عضو می توانید از علامت لامبدا استفاده کنید. به عنوان مثال، متد زیر را در نظر بگیرید که دو پارامتر را دریافت کرده و جمع آنها را بر می گرداند :

public int GetSum(int x, int y)
{
    return x + y;
}

با استفاده از ویژگی Expression-bodied members شما می توانید کد بالا را خلاصه تر کرده و به صورت زیر بنویسید :

public int GetSum(int x, int y) => x + y;

همانطور که در کد بالا مشاهده می کنید امضای متد را دستکاری نمی کنیم اما بدنه را با علامت => شروع و سپس عبارتی که جمع دو مقدار را بر می گرداند را می نویسیم. به این نکته توجه کنید که دیگر لازم نیست از کلمه کلیدی return استفاده کنیم.
برای تعریف خاصیت ها هم می توانیم از این ویژگی استفاده کنیم. مثلا در کد زیر یک خاصیت فقط خواندنی که نام کامل یک شخص را بر می گرداند تعریف کرده ایم :

public string FullName
{
    get
    {
        return FirstName + " " + LastName;
    }
}

کد بالا را به صورت زیر هم می توان نوشت :

public string FullName => FirstName + " " + LastName;

برای متدهایی هم که مقدار برگشتی آنها از نوع viod است و دارای یک خط در بدنه هستند هم می توان از این ویژگی به صورت زیر استفاده کرد :

public void PrintMessage(string message) => Console.WriteLine(message);

Expression-bodied members در تعریف ایندکسرها و سربارگذاری عملگرها هم به کار می رود :

// Indexer
public int this[int index] => InternalCollection[index];

// Operator Overload
public static Point operator +(Point p1, Point p2) => new Point(p1.X + p2.X, p1.Y + p2.Y);

// Conversion Overload
public static implicit operator string(Point point) => $"({point.X}, {point.Y})";

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


منبع:.w3-farsi.com
farhang-csharp
موافقین ۰ مخالفین ۰ ۹۵/۰۷/۲۲

نظرات (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی