我想在c#中使用Python的一些特徵,如元組和集合。我應該執行它們嗎?或者已經實施?任何人都可以知道.net語言的動態數據結構庫嗎?如何在C#中模擬元組和集合?
16
A
回答
14
3
對於集合,HashSets(一個.NET 3.5特性)很好地實現了這個技巧。
的部分解答,爲元組:
- .NET 4.0提供了用於tuples [一些]支持。
- 早期版本的C#可以使用匿名類型(我認爲在.Net 2.0中引入了3.0,肯定與所有LINQ的東西)。
這兩種方法都不如Python那樣方便;主要障礙來自於C#是靜態類型的事實。然而,C#4.0 Tuple類具有類似工廠的靜態方法,這些方法可以更容易地創建元組(最多8元組,即具有8個元素的元組)。例如,人們可以有
var customer1 = Tuple.Create("John", "Smith", 14, 5.33, "202-123-444");
使用匿名類型可以完成如下。這種方法的主要缺點是,人們需要明確命名「元組」的元素(雖然這種命名可以隱式「投影」如果用於初始化的值被從另一個對象「投影」。
customer1 = new Customer { Name = "John", Surname = "Smith", NumberOfVisits = 14, CurrentBalance = 5.33, PhoneNr = "202-123-444" };
1
如果您之前使用.NET Framework進行工作,Wintellect Power Collections可能會引起某些興趣 - 它具有2元和3元組的Pair
和Triple
以及兩個集合,如Set
,Bag
和Ordered
。
當然,沒有什麼能阻止你實施4.0的Tuple
你自己。
(順便說一下,沒有什麼特別的「動態」關於像這樣在自己和數據結構)
相關問題
- 1. 如何在C#中模擬C++聯合?
- 2. 如何在模擬中返回元組?
- 3. 如何用C++模擬按Ctrl + C組合在Windows
- 4. 子集和組合元素
- 5. 在計算的mdx成員中組合集合和元組
- 6. 比較集合與模擬集合
- 7. C#中的數據結構模擬元組的Python元組
- 8. 如何模擬Ctrl-S組合鍵?
- 9. 的Java模擬,從集合
- 10. 如何模擬C#中的事件數組? (如在VB6中)
- 11. 如何模擬使用C#的功能組合鍵?
- 12. 集合元素的組合
- 13. 如何過濾和組合C#中的2個數據集
- 14. 如何在C++中的集合中插入一系列元素?
- 15. 在python中創建元組集合
- 16. 如何在C#和VB.NET中模擬C++的朋友?
- 17. 如何在函數上迭代組合元素的集合?
- 18. C#單元測試集合集合
- 19. 如何模擬C/C++中的中斷?
- 20. EcomDev_PHPUnit模擬Magento的模型集合
- 21. 如何在rSpec中模擬數組?
- 22. 在元組中按元素比較返回集的集合 - python
- 23. 如何以模擬模型的列Rails的集合3
- 24. 如何在python中「模擬」C++參考?
- 25. 如何在Java中模擬C#as-operator
- 26. 如何在C#中模擬ANSI終端?
- 27. 如何在C中模擬按鍵#
- 28. 如何在C#中模擬類成員?
- 29. 如何在C中模擬按鍵#
- 30. 如何在Ruby中模擬Ctrl + C?
「......這就像一個元組」,雖然是隻有2元組。 – Thomas 2010-04-11 14:47:16
@Thomas是的,我打算指定一個2元組。編輯並修復。謝謝。 – 2010-04-12 06:18:53
keyvaluepair永遠不會是一個元組。請編輯它.. – nawfal 2012-03-29 13:23:42