درخواست های ارتباط
جستجو
لیست دوستان من
صندوق پیام
همه را دیدم
  • در حال دریافت لیست پیام ها
صندوق پیام
رویدادها
همه را دیدم
  • در حال دریافت لیست رویدادها
همه رویدادهای من
دوره های مرتبط
دوره آموزشی ساخت ربات تلگرام
مدرس: taghandiki
این دوره را در 8 قسط خریداری کنید
ساخت و مدیریت ربات تلگرام از صفر با زبان سی شارپ
مدرس: مهدی عادلی
این دوره را در 2 قسط خریداری کنید
دوره آموزشی مقدماتی برنامه نویسی به زبان سی شارپ
مدرس: حسین احمدی
این دوره را در 17 قسط خریداری کنید
دوره آموزشی پردازش متن با زبان برنامه نویسی پایتون
مدرس: taghandiki
این دوره را در 20 قسط خریداری کنید
دوره آموزشی برنامه نویسی حرفه ای پایتون به زبان ساده
مدرس: حسین احمدی
این دوره را در 23 قسط خریداری کنید
دوره آموزشی برنامه نویسی اندروید با زبان جاوا به زبان ساده
مدرس: مهدی عادلی
این دوره را در 27 قسط خریداری کنید
دوره آموزشی طراحی رابط کاربری با JavaFX
مدرس: hharddy
این دوره را در 13 قسط خریداری کنید
دوره آموزشی برنامه نویسی به زبان پرل بصورت پروژه محور
مدرس: dr-iman
این دوره را در 13 قسط خریداری کنید
دوره آموزشی مقدماتی برنامه نویسی جاوا به زبان ساده
مدرس: مهدی عادلی
این دوره را در 17 قسط خریداری کنید
دوره آموزشی Exploit نویسی به زبان Perl
مدرس: dr-iman
این دوره را در 7 قسط خریداری کنید

بررسی ویژگی های سی شارپ 7.1

0 نظرات
40 بازدیدها
آخرین نسخه سی شارپ که توسط مایکروسافت ارائه شده، نسخه 7.1 است که در صورت نصب Visual Studio 2017 نسخه 15.3، آخرین نسخه سی شارپ نیز قابل استفاده خواهد بود. جهت استفاده از آخرین نسخه سی شارپ کافیست از پنجره Project Properties، وارد بخش Build شده و پایین روی گزینه Advanced کلیک کنید تا پنجره ای مشابه پنجره زیر برای شما نمایش داده شود:

ویژگی های سی شارپ 7.1


بعد از انتخاب گزینه C# 7.1، قابلیت های این نسخه برای شما فعال می شود که در ادامه به بررسی این امکانات می پردازیم.


تعریف متد Main به صورت async


در نسخه های قبلی سی شارپ (نسخه 7 به قبل) امکان تعریف متد Main به صورت async وجود نداشت و در صورتی که متد Main به صورت async تعریف می شود پیغام خطایی مبنی بر اینکه متد Main مناسب برای اجرای برنامه پیدا نشد دریافت می کردیم. در نسخه 7.1 این مشکل برطرف شده و می توان متد Main را به صورت async تعریف کرد:

static async Task<int> Main(string[] args)
{
    return await DoSomething();
}

public static Task<int> DoSomething()
{
    return Task.Run(() =>
    {
        return 5;
    });
}

در صورتی که متد Main مقدار بازگشتی ندارد، می توان تنها کلمه کلیدی Task را به صورت زیر نوشت:

static async Task Main(string[] args)
{
    await DoSomething();
}

public static Task<int> DoSomething()
{
    return Task.Run(() =>
    {
        return 5;
    });
}


Default Literals


اگر با Generic ها کار کرده باشید احتمالاً با کلمه کلیدی default آشنایی دارید، از این کلمه کلیدی برای بدست آوردن مقدار پیش فرض یک نوع داده استفاده می شود، البته کاربرد default تنها در بخش generics نیست و در قسمت های دیگر نیز می توان از آن استفاده کرد. کد زیر را در نظر بگیرید:

static void Main(string[] args)
{
    int number = default(int);
    Console.WriteLine(number);
}

در کد بالا بوسیله کلمه کلیدی default مقدار پیش فرض نوع int را بدست آورده و داخل متغیر number میریزیم. در سی شارپ 7.1 استفاده از کلمه کلیدی default ساده تر شده است و به صورت زیر می توان از کلمه default استفاده کرد:

int number = default;
Console.WriteLine(number);

یا کد زیر:

static void Main(string[] args)
{
    Console.WriteLine(0, default);
}

public static int Sum(int n1, int n2)
{
    return n1 + n2;
}

کلمه کلیدی default را می توان در هر بخشی که نیاز به مقدار پیش فرض می باشد استفاده کرد.


Inferred Tuple Names


در سی شارپ 7 قابلیتی اضافه شد که می توانستیم Tuple ها را به صورت خیلی ساده ایجاد کنیم:

string firstname = "Hossein";
string lastname = "Ahmadi";

var tuple = (firstname: firstname, lastname: lastname);

Console.WriteLine(tuple.firstname + " " + tuple.lastname);

اما اگر در هنگام ایجاد Tuple نام ها را به صورت بالا مشخص نمی کردیم در زمان استفاده می بایست از Item1 و Item2 الی آخر استفاده می کردیم. در سی شارپ 7.1 این مشکل برطرف شده و بدون نوشتن نام برای مقادیر، زبان سی شارپ به صورت خودکار نام مناسب را برای آیتم ها انتخاب می کند:

string firstname = "Hossein";
string lastname = "Ahmadi";

var tuple = (firstname, lastname);

Console.WriteLine(tuple.firstname + " " + tuple.lastname);

نویسنده: حسین احمدی
منبع: ITpro
برچسب ها
مطالب مرتبط

در حال دریافت اطلاعات

نظرات
هیچ نظری ارسال نشده است

    برای ارسال نظر ابتدا به سایت وارد شوید

    arrow