想要避免默认的零值

s.k*_*aul 0 c# data-binding

我的应用程序中有一个类.它必将赢得文本框控件.但是绑定到BookingNo属性的文本框始终显示为零(0).但我希望文本框保持空白.有什么办法吗?这是我的代码片段.

    public class Booking 
    {
    private int pBookingNo;
    private string pCustomerName;
    private string pAddress;

    public int BookingNo
    {
        get { return pBookingNo; }
        set
        {
            if (!value.Equals(pBookingNo))
            {
                pBookingNo = value;
            }
        }
    }

    public string CustomerName
    {
        get { return pCustomerName; }
        set
        {
            if (!value.Equals(pCustomerName))
            {
                pCustomerName = value;

            }
        }
    }

    public Booking() { }
}


    public partial class Form1 : Form
    {
    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        AddDataBindings();
    }

    private void AddDataBindings()
    {
        bsBooking.DataSource = typeof(Booking);

        txtBookingNo.DataBindings.Add("Text", bsBooking, "BookingNo", true, DataSourceUpdateMode.OnPropertyChanged, null, "G", GlobalVariables.CurrentCultureInfo);
        txtCustomerName.DataBindings.Add("Text", bsBooking, "CustomerName");

    }
}
Run Code Online (Sandbox Code Playgroud)

TGl*_*zer 8

Integer的默认值为0,因此您必须将其包装到其他对象中,该对象支持0以外的值,例如

public int? BookingNo { get; set; }
Run Code Online (Sandbox Code Playgroud)