Convert sinfində tiplərin çevrilməsi




Download 3.29 Mb.
bet8/50
Sana05.03.2024
Hajmi3.29 Mb.
#167645
TuriMühazirə
1   ...   4   5   6   7   8   9   10   11   ...   50
Bog'liq
C fakepathMuhazire C#
C fakepathC fakepathTEQDIMAT SUALLARI (1)
Convert sinfində tiplərin çevrilməsi


Parse və TryParse metodları

Bütün primitiv tiplər sətiri verilən tipə çevirən iki metoda malikdir. Bu Parse() və TryParse() metodlarıdır.


Parse() metodu parametr kimi sətiri qəbul edir və obyektin cari tipini qaytarır. Məsələn:

int a = int.Parse("10");


double b = double.Parse("23,56");
decimal c = decimal.Parse("12,45");
byte d = byte.Parse("4");
Console.WriteLine($"a={a} b={b} c={c} d={d}");

Qeyd etmək lazımdır ki, fraksiya ədədlərinin təhlili mövcud parametrlərindən asılıdır. Xüsusilə, double ədədi əldə etmək üçün, "23,56" sətirini vergül ilə bir ayırıcı olaraq ötürürük.Əgər nöqtə əvəzinə vergül verilərsə, onda kodda işləmə xətası yaranır. Digər lokal olan kompüterlərdə, əksinə, bir nöqtə əvəzinə vergül istifadə səhv olardı.


Digər fərqlərdən asılı olmamaq üçün NumberFormatInfo sinifindən və onun NumberDecimalSeparator xassəsiindən istifadə edərək dəqiq bir format qura bilərik:

using System;


using System.Globalization;
namespace FirstApp
{
class Program
{
public static void Main(string[] args)
{
IFormatProvider formatter = new NumberFormatInfo { NumberDecimalSeparator = "." };
double b = double.Parse("23.56", formatter);
}
}
}

Bu vəziyyətdə ayırıcı olaraq nöqtə təyin olunur. Bununla birlikdə, Parse metodundan potensial istifadə edərək, məsələn, ədədi simvollar əvəzinə əlifba işarələri ötürərkən səhvlə qarşılaşa bilərik. Bu vəziyyətdə daha yaxşı bir seçim TryParse () metodundan istifadə etmək olar. Sətri tipə çevirməyə çalışır və çevirmə uğurlu olduqda, true qayıdır. Əks halda, false qaytarılır:


int number;
Console.WriteLine("Setiri daxil edin:");
string input = Console.ReadLine();
bool result = int.TryParse(input, out number);
if (result == true)
Console.WriteLine("Cevirme duzgundur");
else
Console.WriteLine("Cevirme duzgun deyil");

Çevirmə uğursuz olarsa, heç bir istisna edilmir, sadəcə TryParse metodu false qaytaracaq və number dəyişən susmaya görə qiymət alacaqdır.





Download 3.29 Mb.
1   ...   4   5   6   7   8   9   10   11   ...   50




Download 3.29 Mb.

Bosh sahifa
Aloqalar

    Bosh sahifa



Convert sinfində tiplərin çevrilməsi

Download 3.29 Mb.