[英]How to simulate tuples and sets in C#?
我想在c#中使用python的一些功能,如Tuples和Sets。 我應該實施它們嗎? 還是已經實施了? 任何人都可以知道.net語言的動態數據結構庫嗎?
對於集合,HashSets(.NET 3.5特性)可以很好地完成這個任務。
對於元組的部分答案:
這些方法都不像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" };
如果您使用的.NET Framework早於上面提到過,那么Wintellect Power Collections可能會引起一些興趣 - 它有2 Pair
和3元組的Pair
和Triple
,以及Set
, Bag
和Ordered
等兩種集合。 。
當然,沒有什么能阻止你自己實現4.0的Tuple
。
(順便說一句,關於這些數據結構本身並沒有特別“動態”)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.