我想創建一個包含整數元素和日期時間元素的多維數組。我希望能夠對datetime元素進行排序,並根據排序的datetime元素獲取整數元素。有沒有辦法做到這一點在c#中的數組,或者我應該使用更像是一個數據表?在C#中有多個數據類型的多維數組?
4
A
回答
3
對於保留interegs和DateTimes,請使用通用System.Collections。 字典< 日期時間,整數>
用於保持順序,使用System.Collections.Specialized。 OrderedDictionary。請參閱MSDN中的示例(here)。
// Creates and initializes a OrderedDictionary.
OrderedDictionary myOrderedDictionary = new OrderedDictionary();
myOrderedDictionary.Add("testKey1", "testValue1");
myOrderedDictionary.Add("testKey2", "testValue2");
myOrderedDictionary.Add("keyToDelete", "valueToDelete");
myOrderedDictionary.Add("testKey3", "testValue3");
ICollection keyCollection = myOrderedDictionary.Keys;
ICollection valueCollection = myOrderedDictionary.Values;
// Display the contents using the key and value collections
DisplayContents(keyCollection, valueCollection, myOrderedDictionary.Count);
2
A DataTable
對於您所需要的操作來說會更加合適,因爲它提供了對按列和其他類似表操作進行排序的內置支持。
0
您可以使用KeyValuePair<DateTime, int>
作爲您的目的的元素類型。
0
我可能會定義一個自定義類型:
public class Entity
{
public DateTime Date { get; set; }
public int[] Elements { get; set; }
}
和使用Linq與Entity[]
。以下是一個排序示例:
var entities = new[]
{
new Entity
{
Date = new DateTime(2009, 12, 10)
},
new Entity
{
Date = new DateTime(2009, 12, 11)
},
new Entity
{
Date = new DateTime(2009, 12, 9)
}
};
Array.Sort(entities, (e1, e2) => e1.Date.CompareTo(e2.Date));
+0
我認爲這是一個合理和適當的方法。雖然'DataTable'和多維數組有時可能是合適的,它們不是有意義模型類的普通替代品。 – LBushkin 2009-12-10 17:57:46
相關問題
- 1. C++多維數組多種數據類型
- 2. 定義數據類型多維數組
- 3. C#獲取多維數組的類型
- 4. C++中的多維動態數組類
- 5. C#多維數組在C + +?
- 6. 如何在多維數組中使用數據類型char
- 7. C++中的多維數組
- 8. C++中的多維數組?
- 9. C++中的多維數組
- 10. C中的多維數組
- 11. Scala中的多維數據類型
- 12. 多維數組存儲多種數據類型
- 13. 多維數組索引中的多維數組C++
- 14. 多維數組(C++)
- 15. C++多維數組
- 16. C++,多維數組
- 17. C#多維數組
- 18. 多維數組c
- 19. 在C#多維數組類似於Java
- 20. 列在多維數組C#
- 21. 2種類型的多維數組cpp
- 22. typescript不同類型的多維數組
- 23. Python:不同類型的多維數組
- 24. C++多類型數組
- 25. C#數據表格到多維數組
- 26. 在C/C++中傳遞多維數組
- 27. 我有一個數組多維數組
- 28. 用C類型轉換指向一個多維數組
- 29. 多維數組的C#行
- 30. 傳遞一個多維數組在C++
multidimentional?你想如何分類? – Grzenio 2009-12-10 16:21:34
我認爲本意味着2列,DateTime和int的數組,像Dictionary –
serhio
2009-12-10 16:39:43