مروری بر کاربردهای مختلف دستور Using تا پیش از ارائهی سی شارپ 6 1- اضافه کردن فضاهای نام مختلف، برای سهولت دسترسی به اعضای آن: using System.Collections.Generic; 2- تعریف نام مستعار (alias name) برای نوع دادهها و فضای نامها using BLL = DotNetTipsBLLLayer;//نام مستعار برای فضای نام
using EmployeeDomain = DotNetTipsBLLLayer.Employee;//نام مستعار برای یک نوع داده 3- تعریف یک بازه و مشخص کردن زمان تخریب یک ش ...
در ادامه مطالب منتشر شده در رابطه با قابلیتهای جدید سیشارپ 6، در این مطلب به بررسی یکی دیگر از این قابلیتها، با نام Expression-Bodied Members خواهیم پرداخت. در واقع در سیشارپ 6، هدف، سادهسازی سینتکس و افزایش بهرهوری برنامهنویس میباشد. در نسخههای قبلی سیشارپ برای یکسری از اعمال روتین میبایستی روالیهایی را مدام تکرار میکردیم؛ به عنوان مثال در تعریف پراپرتیهای یک کلاس در حالت get-only باید هر بار توسط return مقداری را برگردانی ...
سیشارپ نیز مانند بسیاری از زبانهای شیءگرای دیگر، امکان فیلتر کردن استثناءها را بر اساس نوع آنها، دارا است. برای مثال: try
{
// some code to check ...
}
catch (InvalidOperationException ex)
{
// do your handling for invalid operation ...
}
catch (IOException ex)
{
// do your handling for IO error ...
}
در اینجا میتوان بر اساس نوع استثنای مدنظر، چندین catch را نوشت و مدیریت کرد. اما گاهی از اوق ...
برنامه نویسهای سیشارپ پیشتر با null-coalescing operator یا ?? آشنا شده بودند. برای مثال string data = null;
var result = data ?? "value";
در این حالت اگر data یا سمت چپ عملگر، نال باشد، مقدار value (سمت راست عملگر) بازگشت داده خواهد شد؛ که در حقیقت خلاصه شدهی چند سطر ذیل است: if (data == null)
{
data = "value";
}
var result = data;
در سی شارپ 6، جهت تکمیل عملگرهای کار با مقادیر نال و بالا بردن producti ...
یکی دیگر از قابلیتهای جذاب نسخهی جدید سیشارپ، عملگر nameof است. هدف اصلی آن ارائه کدهایی با قابلیت Refactoring بهتر است؛ زیرا به جای نوشتن نام فیلدها و یا متدها در صورت نیاز به صورت hard-coded، میتوانیم از این عملگر استفاده کنیم. به عنوان مثال در زمان صدور استثناءیی از نوع ArgumentNullException باید نام آرگومان را به سازندهی این کلاس پاس دهیم. متاسفانه یکی از مشکلاتی که با رشتهها در حالت کلی وجود دارد این است که امکان دیباگ در زمان ...
تا پیش از C# 6 یکی از روشهای توصیه شدهی جهت اتصال رشتهها به هم، استفاده از متدهایی مانند string.Format و StringBuilder.AppendFormat بود: using System;
namespace CS6NewFeatures
{
class Person
{
public string FirstName { set; get; }
public string LastName { set; get; }
public int Age { set; get; }
}
class Program
{
static void Main(string[] args)
...