خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

نحوه تبدیل و تجزیه انواع داده های مختلف در سی شارپ

مطمئن شوید که با انواع داده های مناسب کار می کنید و می دانید که چگونه بین آنها تبدیل کنید.

هنگامی که یک متغیر جدید در سی شارپ اعلام می کنید، معمولاً آن را با یک نوع داده خاص مقداردهی اولیه می کنید. این ممکن است یک عدد صحیح، اعشاری، بولی، رشته یا نوع داده دیگری باشد.

شما می توانید یک مقدار را از یک نوع داده به دیگری تبدیل کنید. برای مثال، اگر رشته ای را به عدد صحیح تبدیل می کنید، ابتدا باید مقدار آن را تجزیه کنید. در اینجا چند روش مختلف برای تبدیل و تجزیه مقادیر وجود دارد.

چرا باید داده ها را تبدیل یا تجزیه کنید؟

یک مثال از زمانی که ممکن است نیاز به تجزیه داده ها داشته باشید این است که در حال درخواست ورودی کاربر در یک برنامه کنسول C# هستید:

Console.WriteLine("Enter your age:");
string salary = Console.ReadLine();

در این حالت، کاربر یک عدد صحیح وارد می کند، اما برنامه به طور پیش فرض آن را به عنوان یک رشته ذخیره می کند. اگر سعی کنید از مقدار رشته در هر محاسباتی استفاده کنید، یک خطای کامپایل دریافت خواهید کرد:

خطای کامپایل کردن عملوند دو رشته ای

یکی دیگر از دلایل تبدیل انواع داده، دسترسی به روش های خاصی است که فقط برای یک نوع داده خاص در دسترس هستند. به عنوان مثال، ساختار DateTime حاوی تابعی است که به شما امکان می دهد دقیقه اضافه کنید. اگر به جای آن از یک رشته استفاده می کردید، به متد دسترسی نخواهید داشت:

خطای کامپایل تابع DateTime AddMinutes

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

مطلب مرتبط:   کد جاوا خود را به صورت خودکار با Javadoc مستند کنید

نحوه تبدیل و تجزیه انواع داده های مختلف

شما می توانید انواع مختلف داده مانند اعداد صحیح، دوگانه، انواع بولی و انواع تاریخ را تجزیه کنید.

رشته ها به اعداد صحیح

برای تبدیل رشته به عدد صحیح از متد Parse() استفاده کنید:

string strInt = "45";
int int32 = Int32.Parse(strInt);
Console.WriteLine(int32); // output: 45

همچنین می توانید رشته را به اعداد صحیح با اندازه بیت های مختلف مانند Int16، Int32 یا Int64 تجزیه کنید.

int int16 = Int16.Parse(strInt);
Console.WriteLine(int16); // output: 45

اگر از متد Parse() استفاده می کنید، مطمئن شوید که مقدار رشته یک عدد صحیح را نشان می دهد. اگر سعی کنید یک مقدار غیر صحیح مانند “Hello” را تجزیه کنید، در زمان اجرا یک خطای تجزیه دریافت خواهید کرد.

string invalidString = "Hello";
int invalidResult = Int32.Parse(invalidString);

خطای زمان اجرا رشته Int نامعتبر است

همچنین می‌توانید از متد TryParse() برای گرفتن هر استثنایی که ممکن است هنگام تجزیه رخ دهد استفاده کنید:

int tryParseResult = 0;

if (Int32.TryParse(invalidString, out tryParseResult))
{
    Console.WriteLine(tryParseResult);
}
else
{
    Console.WriteLine("Something went wrong");
}

برای تبدیل یک عدد صحیح به رشته، از متد ToString() استفاده کنید:

string intString = 45.ToString();
Console.WriteLine(intString); // output: 45

رشته ها به دو برابر شدن

تجزیه یک رشته به یک دوتایی بسیار شبیه به تجزیه یک به یک عدد صحیح است. از متد Parse() از کلاس Double استفاده کنید:

string strDouble = "90.5";
double d = Double.Parse(strDouble);
Console.WriteLine(d); // output: 90.5

همانند اعداد صحیح، می‌توانید از متد ()TryParse برای دریافت هر گونه خطای تجزیه‌ای که ممکن است رخ دهد استفاده کنید:

string invalidStringDouble = "Hello";
double tryParseDouble = 0;

if (Double.TryParse(invalidStringDouble, out tryParseDouble))
{
    Console.WriteLine(tryParseDouble);
}

برای تبدیل دوبار به یک عدد صحیح، از متد ToString() استفاده کنید:

double dDouble = 90.5;
string dString = dDouble.ToString();
Console.WriteLine(dString); // output: 90.5

به اعداد صحیح دو برابر می شود

برای تبدیل یک عدد دو به عدد صحیح می توانید از ریخته گری استفاده کنید. از آنجا که یک عدد صحیح فقط یک عدد کامل را ذخیره می کند، تبدیل ارقام اعشاری را حذف می کند. به عنوان مثال، با تبدیل “12.34” فقط مقدار “12” ذخیره می شود.

double dValue = 12.34;
int iValue = (int)dValue;
Console.WriteLine(iValue); // output: 12

همچنین می‌توانید یک عدد صحیح را به دوبار برگردانید:

dValue = (double)iValue;
Console.WriteLine(dValue); // output: 12

رشته ها و مقادیر بولی

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

string stringBool = "True";
bool b = bool.Parse(stringBool);

// or

b = Convert.ToBoolean(stringBool);
Console.WriteLine(b); // output: true

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

string strTrue = true.ToString();
string strFalse = false.ToString();

اعداد صحیح و مقادیر بولی

برای تبدیل یک عدد صحیح به یک بولی، از متد ToBoolean() برای تبدیل “1” یا “0” به مقدار بولی معادل آن استفاده کنید. مقدار “1” به “true” تبدیل می شود در حالی که “0” به “false” تبدیل می شود:

int falseBit = 0;
int trueBit = 1;
Console.WriteLine(Convert.ToBoolean(falseBit)); // output: false
Console.WriteLine(Convert.ToBoolean(trueBit)); // output: true

همچنین می توانید یک مقدار صحیح غیر از “1” یا “0” را به متد ToBoolean() ارسال کنید. به طور پیش فرض، روش همچنان “true” را برمی گرداند:

int invalidBit = 8;
Console.WriteLine(Convert.ToBoolean(invalidBit)); // output: true

برای تبدیل یک بولی به یک عدد صحیح، از متد Convert.ToInt32() استفاده کنید. با تبدیل “true” یک “1” و تبدیل “false” یک “0” را برمی گرداند.

bool iBool = true;
int bInt = Convert.ToInt32(iBool);
Console.WriteLine(bInt); // output: 1

رشته ها به DateTime

برای تجزیه رشته به فرمت datetime، از متد DateTime.Parse() استفاده کنید:

DateTime newDateTime = DateTime.Parse("01/01/2018 00:00:00");
Console.WriteLine(newDateTime); // output: 01/01/2018 00:00:00

برای تبدیل تاریخ به رشته، از متد ToString() استفاده کنید:

DateTime dt = new DateTime(2018, 1, 1);
string dtString = dt.ToString();
Console.WriteLine(dtString); // output: 01/01/2018 00:00:00

تجزیه مقادیر به انواع داده های مختلف

اکنون می دانید که چگونه مقادیر را از یک نوع داده به نوع دیگر تبدیل کنید. اینها تنها تبدیل‌های موجود نیستند، بنابراین با خیال راحت در مورد سایر انواع داده در C# بیشتر بدانید.

مطلب مرتبط:   PostgreSQL در مقابل MySQL: درک ابزارهای پایگاه داده

همچنین می‌توانید نحوه عملکرد سایر انواع داده‌ها در زبان‌های دیگر، مانند جاوا اسکریپت را نیز بررسی کنید.