Null im Lambda-Ausdruck

In den folgenden code, den ich versuche zu bekommen, die null, eine leere Zeichenfolge, und source-Komponenten aus einer Liste aus. Ich habe nicht getestet mit diesem code noch nicht, aber meine intuition sagt mir, es wird brechen, wenn das filtern der Liste für die Quell-und die leere Zeichenkette, falls es durch einen null-Wert.

Habe ich versucht zu extrahieren, die null-Werte zuerst, aber ich bin immer noch Filterung der base-Liste. Wie kann ich re-schreiben Sie diesen code ausführen, was ich versuche zu tun in der besten Weise?

List<LineItem> nullList=itemsList.Where(s => s[Constants.ProductSource] == null)
                                 .ToList();

NALineItems = itemsList.Where(s => s[Constants.ProductSource] == source 
                                   || s[Constants.ProductSource] == String.Empty)
                       .ToList();

NALineItems = nullList.Union(NALineItems).ToList(); 

s[Konstanten.ProductSource] ist ein attachment-Eigenschaft Microsoft ECommerce PurchaseOrder-Objekt. Es ist im Grunde eine andere Eigenschaft eines Objekts.

  • "Ich habe nicht getestet mit diesem code noch nicht, aber meine intuition sagt mir, es wird brechen", das bedeutet, Dass Sie diese Frage vorzeitig.
  • Sie sind sich bewusst, String.IsNullOrEmpty ?
  • Tut itemsList enthalten arrays? Was ist das s[Constants.ProductSource]?
  • Wir sollten wissen, ob unser code ist gonna brechen in diesen Fällen ohne den Test zuerst. Das ist teilweise das, was ich versuche zu erreichen.
  • Damit bin ich nicht einverstanden - wenn Sie einige code schon gehen Sie vor und probieren Sie es aus, schreiben einige tests (schreiben der tests, die Sie angenommen, könnte erstmal Pause!) - es hat Wert, und das nächste mal kommen Sie über eine ähnliche Sache, die Sie wissen, was zu erwarten ist.
InformationsquelleAutor Nick LaMarca | 2012-05-14
Schreibe einen Kommentar