我已經創建了一個清單類,但我不知道如何從中檢索信息。我知道如何去在它在foreach循環中,並顯示所有項目,但我不知道怎麼看,如果溜溜球是在那裏,如果是,則打印的名稱,成本和數量的標籤。任何人都可以幫忙嗎?清單類
Q
清單類
1
A
回答
1
我希望你超越一個庫存類和創建一個產品類。面向對象的語言都是關於封裝和信息隱藏的。將產品的輸出嵌入到該對象的方法中。客戶可以簡單地稱呼它,而不必在整個地方重複。
我也建議你的庫存類中的查找方法,可以讓你搜索一個產品實例。您現在可能想要按名稱搜索,但成本,類別或製造商的情況如何?也許你會想稍後再擴展它。
我同意馬克的字典建議,但我會建議你做庫存的私有實現的那部分。您正在添加額外的抽象概念,使得Inventory不僅僅是一本字典。
我認爲,字符串和數據結構是美妙的,但往往這些原語泄漏到代碼時,再把它們藏的對象將大大爲客戶更好。這就是我認爲良好的面向對象設計的全部內容。
1
既然您提到了foreach
,它聽起來像它實現了IEnumerable<T>
。在這種情況下,如果你使用的是C#3.0/LINQ,是這樣的:
var yoyo = inventory.FirstOrDefault(item => item.Name == "YoYo");
if(yoyo != null) { // found it
Console.WriteLine(yoyo.Cost); // etc
}
你也可以看看字典,如果你有大量的數據...
相關問題
- 1. 解組清單類型
- 2. 錯誤:unhashable類型=「清單」
- 3. 清單中的類路徑
- 4. DNN清單 - 模塊類別
- 5. 使用清單的類路徑訂單
- 6. 補充清單子清單
- 7. 清單類在包的子目錄
- 8. 在Matlab類中有自清單嗎?
- 9. Apache ANT清單類路徑文字
- 10. HTML5緩存清單和內容類型
- 11. 風格WP類別清單與引導
- 12. 未能加載主類清單屬性
- 13. 清單IEnumerable的父母子女類
- 14. 無法加載主類清單屬性
- 15. ActivityNotFoundException啓動清單中的類
- 16. 清單一類的VBA屬性2003
- 17. 從Kubernetes類型生成YAML清單
- 18. java清單類路徑與-classpath
- 19. 清單排序成k個類
- 20. 註冊應用程序類的清單?
- 21. GemfireRepository插入清單(區域類)
- 22. 清單匿名類型在C#
- 23. Maven pom.xml更改清單主要類
- 24. ClassNotFoundException在清單中聲明的類
- 25. Magento - 清除單個類別的緩存
- 26. Android的嵌套類和清單文件
- 27. 類型錯誤:打印出的清單
- 28. 只有產品的清單類別
- 29. Jar文件的清單類路徑
- 30. 將主類到清單文件
一些代碼將是一件好事。在我們知道您的庫存類是什麼樣子之前,我們沒有太多可以做的事情。 – 2009-08-23 13:34:30