TGViewer
DotNet | دات نت DotNet | دات نت @dotnetcode · 1.22K subscribers
Post #3073 911
قسمت شماره ۱: خداحافظی با کدهای تکراری در C# 14!

سلام به همه برنامه‌نویس‌های خفن دات‌نتی! 👋

خبرهای داغ داریم! 🔥 .NET 10 و C# 14 با یه سری ویژگی‌های فوق‌العاده از راه رسیدن که کدنویسی رو خیلی شیرین‌تر می‌کنه. بیاید چندتا از باحال‌ترین‌هاش رو با هم ببینیم:

۱. اپراتور `??=` (انتساب شرطی Null)

یادتونه چقدر if می‌نوشتیم تا چک کنیم یه متغیر null هست یا نه و بعد بهش مقدار بدیم؟ خب، اون دوران تموم شد!

// ----------------
// قبلاً اینجوری بود:
// ----------------
List<string> myStrings = null;
if (myStrings == null)
{
myStrings = new List<string>();
}

// ----------------
// حالا در C# 14:
// ----------------
List<string> myStrings = null;
myStrings ??= new List<string>(); // به همین راحتی! ✨
// اگه null بود، یکی جدید بساز.


۲. کلمه‌ی کلیدی `field` (خداحافظی با Backing Fields!)

یکی از بهترین امکانات جدید! دیگه لازم نیست برای یه Property ساده، یه فیلد private جدا تعریف کنیم. خود C# این کار رو با کلمه field برامون انجام میده:

// ----------------
// قبلاً برای ولیدیشن:
// ----------------
private string _name;
public string Name
{
get => _name;
set
{
if (string.IsNullOrWhiteSpace(value))
throw new ArgumentException("Name cannot be empty");
_name = value;
}
}

// ----------------
// حالا در C# 14:
// ----------------
public string Name
{
get => field; // 'field' همون backing field مخفی ماست
set
{
if (string.IsNullOrWhiteSpace(value))
throw new ArgumentException("Name cannot be empty");
field = value; // مستقیم بهش مقدار می‌دیم 🤯
}
}


۳. اپلیکیشن‌های تک‌فایلی (File-Based Apps)

برای یه تست ساده یا یه اسکریپت کوچیک دیگه نیازی به ساختن پروژه (.csproj) و سلوشن (.sln) نیست! فقط یه فایل .cs بسازید و اجراش کنید:

// یه فایل بساز به اسم Program.cs
Console.WriteLine("سلام دنیا، بدون پروژه!");

// توی ترمینال اجرا کن:
// dotnet run Program.cs

قسمت شماره ۲: .NET 10 برای وب‌کارهای حرفه‌ای!

خب، برگشتیم با قسمت دوم معرفی .NET 10! 💻 این بار می‌خوایم ببینیم تو دنیای وب (ASP.NET)، دیتابیس (EF Core) و بلیزور (Blazor) چه خبره.

۱. ولیدیشن اتوماتیک در Minimal APIs (ASP.NET Core)

قبلاً اعتبارسنجی (Validation) تو Minimal API ها یه کم دردسر داشت. حالا خیلی شیک و اتوماتیک شده. فقط کافیه مدل‌هاتون Data Annotation داشته باشن:
// فقط کافیه این سرویس رو اضافه کنی:
builder.Services.AddValidation();

// و تمام!
app.MapPost("/users", (CreateUserRequest user) =>
{
// اگه 'user' معتبر نباشه (مثلاً ایمیل خالی باشه)
// .NET خودکار خطای 400 Bad Request برمی‌گردونه.
// اصلاً به این خط کد نمی‌رسه!
return Results.Ok(user);
});

// مدل ما:
public class CreateUserRequest
{
[Required]
[EmailAddress]
public string Email { get; set; }

[MinLength(6)]
public string Password { get; set; }
}


۲. آپدیت ستون‌های JSON در EF Core

کار کردن با ستون‌های JSON تو EF Core 10 خیلی قوی‌تر شده. مثلاً حالا می‌تونیم یه تیکه از JSON رو مستقیم آپدیت کنیم، بدون اینکه کل آبجکت رو از دیتابیس بخونیم و برگردونیم!

// فرض کنید یه ستون JSON به اسم 'Profile' داریم
await db.Users
.Where(u => u.Id == 123)
.ExecuteUpdateAsync(s => s
// مستقیم آدرس توی پروفایل رو آپدیت کن
.SetProperty(u => u.Profile["Address"]["City"], "Tehran")
);
// این یعنی پرفورمنس بالاتر! 🔥


۳. هات ریلود (Hot Reload) برای Blazor WebAssembly

اینم خبری که همه‌ی بچه‌های Blazor منتظرش بودن! 🥳 از .NET 10 به بعد، Hot Reload برای Blazor WebAssembly (Wasm) هم به خوبی کار می‌کنه.

یعنی هم کد C# و هم فایل‌های Razor. رو تغییر می‌دید، سیو می‌کنید و *بدون رفرش کردن مرورگر*، تغییرات رو تو صفحه می‌بینید. این یعنی سرعت توسعه فوق‌العاده! ⚡️

-----

🎺برای یادگیری بیشتر و دریافت مطالب مفید در زمینه .NET و برنامه‌نویسی، به کانال ما بپیوندید!

📚💻 @dotnetcode 🖥👨‍💻
  • ❤ 20
  • 👍 7
  • 🔥 1
More from @dotnetcode
  1. Sep 16, 2026ورک‌شاپ «AI Agents in C# (MAF)» در این ورک‌شاپ به بررسی امکانات جدید برنامه‌نویسی با کتابخ…
  2. Jul 10, 2026#مهندس_فکر_کن قسمت:4️⃣ 🎯مصاحبه‌کننده: ءCache Stampede چیست؟ فرض کن یک کلید در Cache داری:…
  3. Jun 12, 20261. Indexes منابع پیشنهادی این چالش که برای من اینها جذاب بوده و هست. A. Designing Data-Int…
  4. Jun 9, 2026آینده هوش مصنوعی و مهندسی کامپیوتر هوش مصنوعی مهندسی را نابود نمی‌کند، اما در سکوت در حال…
  5. Jun 4, 2026تحولی بزرگ در دنیای سی‌شارپ: ویژگی هیجان‌انگیز Union Types در C# 15! بالاخره یکی از جذاب‌ت…
  6. Feb 8, 2026👩‍💻 پستگرس رو ۲.۵ برابر سریع‌تر کن! تصور کن مغز متفکر دیتابیست (Parser) رو بدی دست هوش م…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →