Sizin gibi okuyucular MUO'yu desteklemeye yardımcı oluyor. Sitemizdeki bağlantıları kullanarak bir satın alma işlemi gerçekleştirdiğinizde, bir ortaklık komisyonu kazanabiliriz. Devamını oku.

C#'ta yeni bir değişken bildirdiğinizde, onu genellikle belirli bir veri türüyle başlatırsınız. Bu bir tamsayı, ondalık sayı, boole, dize veya başka bir veri türü olabilir.

Bir değeri bir veri türünden diğerine dönüştürebilirsiniz. Örneğin, bir dizgiyi bir tamsayıya dönüştürüyorsanız, önce değeri ayrıştırmanız gerekir. Değerleri dönüştürmenin ve ayrıştırmanın birkaç farklı yolu.

Neden Verileri Dönüştürmeniz veya Ayrıştırmanız Gerekiyor?

Bir C# konsol uygulamasında kullanıcı girişi talep ediyor olmanız, verileri ayrıştırmanız gerekebilecek durumlara bir örnektir:

Konsol. Yazı çizgisi("Yaşınızı girin:");
dize maaş = Konsol. ReadLine();

Bu durumda, kullanıcı bir tamsayı değeri girecek, ancak uygulama bunu varsayılan olarak bir dize olarak saklayacaktır. Dize değerini herhangi bir hesaplamada kullanmayı denerseniz, bir derleme hatası alırsınız:

instagram viewer

Veri türlerini dönüştürmenin bir başka nedeni de, yalnızca belirli bir veri türü için kullanılabilen belirli yöntemlere erişmektir. Örneğin, DateTime yapısı, dakika eklemenizi sağlayan bir işlev içerir. Bunun yerine bir dize kullanıyor olsaydınız, yönteme erişiminiz olmazdı:

Bir veri tipi yapısını izlemeniz gerekiyorsa, bir değeri başka bir veri tipine dönüştürmek de isteyebilirsiniz. C# ile oluşturulan sınıf veya bir C#'ta yapı.

Farklı Veri Türlerini Dönüştürme ve Ayrıştırma

Tamsayılar, çiftler, boole türleri ve tarih saat türleri gibi farklı veri türlerini ayrıştırabilirsiniz.

Tamsayılara Dizeler

Bir dizeyi tamsayıya dönüştürmek için Parse() yöntemini kullanın:

dizi dizesi = "45";
int int32 = Int32.Parse (strInt);
Konsol. Yazma Satırı (int32); // çıktı: 45

Dizeyi Int16, Int32 veya Int64 gibi farklı bit boyutlarına sahip tamsayılara da ayrıştırabilirsiniz.

int int16 = Int16.Parse (strInt);
Konsol. Yazma Satırı (int16); // çıktı: 45

Parse() yöntemini kullanıyorsanız, dize değerinin bir tam sayıyı temsil ettiğinden emin olun. "Merhaba" gibi tamsayı olmayan bir değeri ayrıştırmaya çalışırsanız, çalışma zamanında bir ayrıştırma hatası alırsınız.

dize geçersizDize = "Merhaba";
int geçersizSonuç = Int32.Parse (geçersizDize);

Ayrıştırma sırasında oluşabilecek istisnaları yakalamak için TryParse() yöntemini de kullanabilirsiniz:

int tryParseResult = 0;

eğer (int32.TryParse(geçersizDize, dışarıtryParseResult))
{
Konsol.Yazı çizgisi(tryParseResult);
}
başka
{
Konsol. Yazı çizgisi("Bir şeyler yanlış gitti");
}

Bir tamsayıyı tekrar dizgeye dönüştürmek için ToString() yöntemini kullanın:

string intString = 45.ToString();
Konsol. Yazma Satırı (intString); // çıktı: 45

Çiftlere Dizeler

Bir dizgiyi double'a ayrıştırmak, bir'i bir tamsayıya ayrıştırmaya çok benzer. Double sınıfından Parse() yöntemini kullanın:

dizi strDouble = "90.5";
çift d = Çift. Ayrıştır (strDouble);
Konsol. Satır Yaz (d); // çıktı: 90.5

Tamsayılarda olduğu gibi, oluşabilecek ayrıştırma hatalarını yakalamak için TryParse() yöntemini de kullanabilirsiniz:

dize geçersizStringDouble = "Merhaba";
çift tryParseDouble = 0;

eğer (Çift.TryParse(GeçersizDizeÇift, dışarıtryParseDouble))
{
Konsol.Yazı çizgisi(tryParseDouble);
}

Bir double'ı tamsayıya dönüştürmek için ToString() yöntemini kullanın:

çift dÇift = 90.5;
string dString = dDouble. ToString();
Konsol. Yazma Satırı (dString); // çıktı: 90.5

Tamsayılara Çiftler

Bir çifti bir tamsayıya dönüştürmek için atamayı kullanabilirsiniz. Bir tamsayı yalnızca bir tam sayı sakladığından, dönüştürme ondalık basamakları kaldıracaktır. Örneğin, "12.34" dönüştürülürse yalnızca "12" değeri depolanır.

çift dDeğeri = 12.34;
int iDeğer = (int)dDeğer;
Konsol. Yazma Satırı (iValue); // çıkış: 12

Ayrıca bir tamsayıyı bir çifte dönüştürebilirsiniz:

dDeğeri = (çift)değer veriyorum;
Konsol. Yazma Satırı (dDeğeri); // çıkış: 12

Dizeler ve Boole Değerleri

Bir dizeyi bir boole dönüştürmek için Parse() veya ToBoolean() yöntemini kullanın:

string stringBool = "Doğru";
bool b = bool. Ayrıştır (stringBool);

// veya

b = Dönüştür. ToBoolean (stringBool);
Konsol. Satır Yaz (b); // çıktı: doğru

Bir boole değerini tekrar dizgeye dönüştürmek için ToString() yöntemini kullanın:

dize strTrue = doğru.ToString();
dize strFalse = YANLIŞ.ToString();

Tamsayılar ve Boole Değerleri

Bir tamsayıyı bir boole dönüştürmek için, "1" veya "0"ı eşdeğer boole değerine dönüştürmek için ToBoolean() yöntemini kullanın. "1" değeri "true" değerine, "0" değeri ise "false" değerine dönüşür:

int yanlışBit = 0;
int gerçekBit = 1;
Konsol. Yazma Satırı (Dönüştür. ToBoolean (yanlış Bit)); // çıktı: yanlış
Konsol. Yazma Satırı (Dönüştür. ToBoolean (trueBit)); // çıktı: doğru

ToBoolean() yöntemine "1" veya "0" dışında bir tamsayı değeri de iletebilirsiniz. Varsayılan olarak, yöntem yine de "true" değerini döndürür:

int geçersizBit = 8;
Konsol. Yazma Satırı (Dönüştür. ToBoolean (geçersiz Bit)); // çıktı: doğru

Bir boolean'ı tekrar tamsayıya dönüştürmek için Dönüştür'ü kullanın. ToInt32() yöntemi. "true" dönüştürmek "1" döndürür ve "false" dönüştürmek "0" döndürür.

bool iBool = doğru;
int bInt = Dönüştür. ToInt32(iBool);
Konsol. Yazma Satırı (bInt); // çıktı: 1

DateTime için dizeler

Bir dizeyi tarih saat biçimine ayrıştırmak için DateTime'ı kullanın. Parse() yöntemi:

DateTime newDateTime = DateTime. Ayrıştır("01/01/2018 00:00:00");
Konsol. WriteLine (yeniDateTime); // çıktı: 01/01/2018 00:00:00

Bir tarih saatini tekrar dizgeye dönüştürmek için ToString() yöntemini kullanın:

TarihSaat dt = yeni TarihSaat(2018, 1, 1);
dizi dtString = dt. ToString();
Konsol. Yazma Satırı (dtString); // çıktı: 01/01/2018 00:00:00

Değerleri Farklı Veri Türlerine Ayrıştırma

Artık değerleri bir veri türünden diğerine nasıl dönüştüreceğinizi anlıyorsunuz. Bunlar sadece dönüşümler değil, bu nedenle C#'daki diğer veri türleri hakkında daha fazla bilgi edinmekten çekinmeyin.

JavaScript gibi diğer veri türlerinin diğer dillerde nasıl çalıştığını da keşfedebilirsiniz.