2012-10-02 35 views
2

這種說法會給我空例外,當我清除與this.ProductList.ItemSource = null;:的LINQ ToList對空的ItemSource

salesItem = (from SalesItem items in this.ProductList.ItemsSource 
          select items).ToList<Sales>(); 

DataGrid中我該如何解決這個問題呢?

謝謝。

+1

檢查'this.ProductList.ItemsSource'爲空或不是之前運行查詢。爲什麼在空值之後運行查詢? – Tim

回答

11

您可以通過不的ItemsSource設置爲NULL解決的問題:看到

this.ProductList.ItemsSource = Enumerable.Empty<Sales>(); 
+2

這個評論應該有更多upvotes,這樣人們會停止表達空集合作爲'null',這是如此糟糕,總是出乎意料 – Grozz

+0

@Grozz +1;確實如此「糟糕」。 – phoog

3
if (this.ProductList != null && this.ProductList.ItemsSource != null) 
{ 
    salesItem = (from SalesItem items in this.ProductList.ItemsSource 
          select items).ToList<Sales>(); 
} 
+1

潛在空值的好處。在LINQ查詢中,它們很容易被忽略。 – Traxxus