如何将observablecollection放入List中

时间:2011-07-26 22:59:21

标签: c# wpf observablecollection

我想将当前的observablecollection数据放在按钮点击事件的列表中。 bellow是c#代码,但它给出了错误:对象引用未设置为对象的实例。

    ObservableCollection<CheckInData> _CheckInCollection = new ObservableCollection<CheckInData>();


    public ObservableCollection<CheckInData> CheckInCollection
    {
        get { return _CheckInCollection; }
    }

    public class CheckInData
    {
        public string RoomNumber { get; set; }
        public decimal Price { get; set; }
        public string Currecny { get; set; }
        public decimal Discount { get; set; }
        public string CheckOut { get; set; }
        public int TotalDay { get; set; }
        public decimal TotalPrice { get; set; }
        public int CheckOutYear { get; set; }
        public int CheckOutMonth { get; set; }
        public int CheckOutDay { get; set; }
        public Boolean IncToday { get; set; }
    }

    private void btnPrintInvoice_Click(object sender, RoutedEventArgs e)
    {
        DataToExcel.Invoice inv = new DataToExcel.Invoice();
        inv._BilledTo = Guest[0];

        foreach (CheckInData coll in _CheckInCollection)
        {

            for (int i = 0; i < _CheckInCollection.Count; i++)
            {
                inv._RoomPrice.Add(coll.RoomNumber[i].ToString());
            }
        }
    }

2 个答案:

答案 0 :(得分:1)

看起来inv._RoomPrice或coll.RoomNumber为空。

答案 1 :(得分:1)

在抛出异常的行上设置一个断点,并检查每个可以为null的变量:inv,inv._RoomPrice,coll,coll.RoomNumber

找到它后,确定您认为应该初始化的位置并修复导致其未初始化的错误。