Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Phương thức Convert.ToUInt16 trong C#

Phương thức Convert.ToUInt16() chuyển đổi một giá trị xác định sang số nguyên 16-bit không dấu (ushort, phạm vi 0 đến 65,535).

Ví dụ chuyển từ string

string str = "1129";
ushort res = Convert.ToUInt16(str);  // 1129

Mã nguồn hoàn chỉnh

using System;

public class Demo
{
    public static void Main()
    {
        string str = "1307";
        ushort res = Convert.ToUInt16(str);
        Console.WriteLine("Converted string '{0}' to {1}", str, res);
    }
}

Kết quả

Converted string '1307' to 1307

Các overload phổ biến

Kiểu đầu vàoVí dụLưu ý
string"1234"Phân tích chuỗi số
byte/sbyte200An toàn nếu trong phạm vi
short/ushort(ushort)50000Chuyển đổi trực tiếp
int/uint/long/ulong50000Ném OverflowException nếu > 65535
float/double/decimal123.45Làm tròn (banker's rounding)
booltruetrue→1, false→0
objectboxed valueUnbox rồi chuyển

Ngoại lệ

  • OverflowException: Giá trị ngoài phạm vi [0, 65535]
  • FormatException: String không đúng định dạng số
  • ArgumentNullException: String là null (cho một số overload)

So sánh với ushort.Parse / TryParse

// Parse - ném exception nếu lỗi
ushort a = ushort.Parse("123");

// TryParse - an toàn, không exception
ushort b;
bool success = ushort.TryParse("123", out b);  // true, b=123

// Convert.ToUInt16 - chấp nhận nhiều kiểu hơn, null→0
ushort c = Convert.ToUInt16(null);  // 0 (không ném exception)