Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Untuk menentukan apakah string adalah representasi yang valid dari jenis numerik tertentu, gunakan metode TryParse
statis yang diimplementasikan oleh semua jenis numerik primitif dan juga berdasarkan jenis seperti DateTime dan IPAddress. Contoh berikut menunjukkan cara menentukan apakah "108" adalah int yang valid.
int i = 0;
string s = "108";
bool result = int.TryParse(s, out i); //i now = 108
Jika string berisi karakter nonnumerik atau nilai numerik terlalu besar atau terlalu kecil untuk jenis tertentu yang telah Anda tentukan, TryParse
mengembalikan false dan mengatur parameter keluar ke nol. Jika tidak, fungsi ini mengembalikan true dan menetapkan parameter keluaran ke nilai numerik dari string.
Nota
Kemungkinan suatu string hanya berisi karakter numerik tetapi tetap tidak valid untuk tipe metode TryParse
yang Anda gunakan. Misalnya, "256" bukan nilai yang valid untuk byte
tetapi valid untuk int
. "98.6" bukan nilai yang valid untuk int
tetapi merupakan decimal
yang valid.
Contoh
Contoh berikut menunjukkan cara menggunakan TryParse
dengan representasi string nilai long
, byte
, dan decimal
.
string numString = "1287543"; //"1287543.0" will return false for a long
long number1 = 0;
bool canConvert = long.TryParse(numString, out number1);
if (canConvert == true)
Console.WriteLine($"number1 now = {number1}");
else
Console.WriteLine("numString is not a valid long");
byte number2 = 0;
numString = "255"; // A value of 256 will return false
canConvert = byte.TryParse(numString, out number2);
if (canConvert == true)
Console.WriteLine($"number2 now = {number2}");
else
Console.WriteLine("numString is not a valid byte");
decimal number3 = 0;
numString = "27.3"; //"27" is also a valid decimal
canConvert = decimal.TryParse(numString, out number3);
if (canConvert == true)
Console.WriteLine($"number3 now = {number3}");
else
Console.WriteLine("number3 is not a valid decimal");
Pemrograman yang Kuat
Jenis numerik primitif juga mengimplementasikan metode statis Parse
, yang melemparkan pengecualian jika string bukan angka yang valid.
TryParse
umumnya lebih efisien karena hanya mengembalikan false jika angkanya tidak valid.
.NET Keamanan
Selalu gunakan metode TryParse
atau Parse
untuk memvalidasi input pengguna dari kontrol seperti kotak teks dan kotak kombo.