TGViewer
Software Philosophy Software Philosophy @softwarephilosophy · 3.48K subscribers
Post #2306 1.96K
تبدیل نوع (Casting & Type Conversions) در سی‌شارپ

#csharp_for_beginners

در زبان برنامه‌نویسی سی‌شارپ، متغیرها انواع (Types) مختلفی دارند؛ مانند int، double، string و غیره. گاهی اوقات نیاز داریم مقدار یک نوع را به نوعی دیگر تبدیل کنیم. این فرآیند تبدیل نوع (Type Conversion) یا Casting نامیده می‌شود. سی‌شارپ دو نوع اصلی تبدیل دارد:

Implicit Conversion
Explicit Conversion / Casting

تبدیل ضمنی (Implicit Conversion)
در این نوع تبدیل، کامپایلر خودش به‌طور خودکار نوع را تبدیل می‌کند، چون خطر از دست رفتن داده وجود ندارد. مثلاً وقتی مقدار int را به long تبدیل می‌کنیم:

int myInt = 100;
long myLong = myInt; // تبدیل ضمنی



تبدیل صریح (Explicit Conversion / Casting)
زمانی که احتمال از بین رفتن اطلاعات وجود دارد یا کامپایلر نمی‌تواند به‌طور خودکار نوع را تبدیل کند، باید از cast صریح استفاده کنیم:

double myDouble = 123.45;
int myInt = (int)myDouble; // تبدیل صریح



استفاده از توابع Convert
سی‌شارپ کلاس System.Convert را برای تبدیل بین انواع مختلف فراهم کرده است:

string myString = "123";
int myInt = Convert.ToInt32(myString); // تبدیل رشته به عدد صحیح



استفاده از Parse و TryParse
برای تبدیل رشته به عدد (یا انواع مشابه)، می‌توان از متد Parse یا TryParse استفاده کرد:

string myString = "456";
int myInt = int.Parse(myString); // اگر رشته ناصحیح باشد، استثناء رخ می‌دهد

bool success = int.TryParse(myString, out int result);
// اگر موفق باشد، result مقدار عددی می‌گیرد، در غیر این صورت صفر می‌شود


تبدیل نوع‌های مرجع (Reference Types)
در حالت‌های پیشرفته‌تر، تبدیل نوع بین کلاس‌ها (مثلاً از یک کلاس فرزند به کلاس والد یا برعکس) هم امکان‌پذیر است:

object obj = "Hello";
string str = (string)obj; // تبدیل صریح با cast

// استفاده از 'as'
string str2 = obj as string; // اگر نشود، مقدار null برمی‌گرداند



🔗 مطلب کامل را در این لینک می‌توانید مطالعه کنید.

⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنت‌ها به اشتراک بگذارید.

کانال تلگرام:
@SoftwarePhilosophy

______
Docs Casting and type conversions - C# Learn about casting and type conversions, such as implicit, explicit (casts), and user-defined conversions.
  • 👍 8
  • ❤ 7
More from @softwarephilosophy
  1. Sep 27, 2026نگو JEV بگو System One! دنیل کانمن (Daniel Kahneman) توی کتاب معروفش «تفکر، سریع و کند» (T…
  2. Sep 23, 2026بازنویسی کل GitHub Copilot Runtime با Rust 🔶 حدود ۱۲۰،۰۰۰ دلار هزینه توکن و سه هفته وقت ی…
  3. Sep 15, 2026ورک‌شاپ «AI Agents in C# (MAF)» در این ورک‌شاپ به بررسی امکانات جدید برنامه‌نویسی با کتابخ…
  4. Sep 12, 2026کد مدریت شده (Managed Code) در دات‌نت یعنی چی؟ ▫️به زبان ساده: کد مدریت شده (Managed Code)…
  5. Sep 5, 2026آشنایی با Attributeها در سی‌شارپ در سی شارپ، Attributeها برای اضافه کردن metadata یا اطلاع…
  6. Aug 25, 2026اگر در دات نت Agent، MCP Server یا ابزارهای مبتنی بر هوش مصنوعی توسعه میدهی، این پروژه میت…
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 →