Tôi cố gắng để rút ngắn mã của tôi bằng cách sử dụng ngắn nếu:C# ngắn nếu tuyên bố không làm việc với int? (Int = null)
int? myInt=myTextBox.Text == "" ? null :
Convert.ToInt32(myTextBox.Text);
Nhưng tôi nhận được lỗi sau: Loại biểu thức điều kiện không xác định được vì không có chuyển đổi ngầm giữa '' và 'int'
các công trình sau đây:
int? myInt;
if (myTextBox.Text == "") //if no text in the box
myInt=null;
else
myInt=Convert.ToInt32(myTextBox.Text);
và nếu tôi thay thế 'null' trong số nguyên (nói '4') nó cũng hoạt động:
int? myInt=myTextBox.Text == "" ? 4:
Convert.ToInt32(myTextBox.Text);
Đây không phải là một đoạn ngắn nếu, nhưng một nhà điều hành ternary. – MarioDS
Truyền 'int' sang' int? '. – CodesInChaos
Đây là bản sao: ( – nawfal