TGViewer
C# Geeks (.NET) C# Geeks (.NET) @csharpgeeks · 548 subscribers
Post #53 96
🛠 نوشتن string مثل یک حرفه‌ای:

در سی‌شارپ، فقط یک راه برای نوشتن رشته‌ها وجود نداره. ابزارهای مختلفی در اختیار ماست که هر کدوم برای یه سناریوی خاص، بهترین انتخابه. تسلط بر این ابزارها، کد شما رو نه تنها خواناتر، که حرفه‌ای‌تر هم می‌کنه.

1️⃣ روش کلاسیک: دردسرهای Escape Sequence (\)
این روش سنتی‌ترین راهه. برای رشته‌های ساده خوبه، ولی وقتی پای کاراکترهای خاص مثل بک‌اسلش (\) یا کوتیشن (") وسط بیاد، کد شما به سرعت زشت و ناخوانا میشه.

به خصوص برای مسیر فایل‌ها در ویندوز، این روش یه کابوس واقعیه!

// هر \ باید دو بار نوشته بشه!
string classicPath = "C:\\Users\\MyUser\\Documents\\file.txt";


2️⃣ راه حل تمیز: Verbatim Literals (@)
اینجاست که @ مثل یه قهرمان وارد میشه! با گذاشتن یه @ قبل از رشته، شما به کامپایلر میگید: "هرچیزی که داخل این رشته هست رو دقیقاً همونطور که هست در نظر بگیر و هیچ کاراکتری رو escape نکن."

این قابلیت دو تا مزیت بزرگ داره:

مسیرهای خوانا:
// همون مسیر فایل، ولی تمیز و خوانا!
string verbatimPath = @"C:\Users\MyUser\Documents\file.txt";


متن‌های چند خطی:
می‌تونید به راحتی و بدون نیاز به \n، متن‌های چند خطی بنویسید.

string multiLine = @"این
یک متن
چند خطی است.";
نکته: برای استفاده از " داخل رشته @، کافیه دو بار بنویسیدش:
@"<tag id=""123"">"


3️⃣ قدرت مدرن: Raw String Literals ("""...""") (از C# 11 به بعد)
این جدیدترین و قدرتمندترین ابزار ماست که برای حل مشکلات کار با JSON، XML، HTML یا هر متن پیچیده‌ای طراحی شده.

رشته رو بین سه تا (یا بیشتر) دابل کوتیشن میذارید و دیگه هیچ نیازی به هیچ‌گونه escape کردنی ندارید. حتی لازم نیست " رو دو بار بنویسید!

string json = """
{
"Name" : "C# Geeks",
"Quote" : "We write clean code!",
"Path" : "C:\Temp\Data.json"
}
""";


این قابلیت، کد شما رو به شکل چشمگیری تمیزتر و قابل نگهداری‌تر می‌کنه، به خصوص وقتی با متن‌های ساختاریافته سر و کار دارید.

🤔 حرف حساب و ابزار شما
هر کدوم از این ابزارها، برای یه کاری ساخته شدن.

●برای رشته‌های ساده ⟵ روش کلاسیک
●برای مسیر فایل و متن‌های چند خطی ⟵ Verbatim (@)
●برای JSON، XML و متن‌های پیچیده ⟵ Raw String (""")

شما از کدوم یکی از این روش‌ها بیشتر استفاده می‌کنید؟ آیا از طرفدارای Raw String Literals جدید هستید یا هنوز با @ کارتون راه میفته؟


🔖 هشتگ‌ها :
#CSharp
#String
#CodingTips
More from @csharpgeeks
  1. Sep 22, 2026یه مدتی قراره از دنیای NET. فاصله بگیرم، چون وقتشه برم سربازی. راستش نمیدونم این مدت رو چج…
  2. Sep 20, 2026🔥 حالا مشکل اصلی: Alert Storm فرض کن Database از دسترس خارج شده. ۱۰۰ Pod داری. هر Pod می‌…
  3. Sep 20, 2026🚨 طراحی سیستم Monitoring و Alerting در یک سیستم بزرگ فرض کن ساعت ۳ صبح است. سیستم شما با…
  4. Sep 19, 2026#Engineering_Leadership تصمیم نگرفتن هم یک تصمیم است یه چیز عجیب توی تیم‌های مهندسی: گاهی…
  5. Sep 19, 2026☑ چک‌لیست آماده‌سازی تیم، فرایندها و زیرساخت برای توسعه با AI توجه: هیچ چک‌لیستی جهان‌شمول…
  6. Sep 19, 2026📌پایان یک انتظار طولانی: اعتبارسنجی ناهمگام (Async Validation) در NET 11.
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 →