【发布时间】:2013-03-16 12:17:01
【问题描述】:
我正在尝试在 C# 2.0 中实现一个可以像这样表示的数据结构:
| field1 | field2 | field3 | ... (variable length) ...
+--------+--------+--------+-------------------
1 | int0 | float0 | bool0 | ...
2 | int1 | float1 | bool1 | ...
. |
. |
. |
(variable) ...
目前,我正在考虑一些非常基本的事情:
public class DataStructure {
string name;
List<string> fieldNames;
List<Item> items;
}
public class Item {
List<object> values;
}
然后,您可以使用隐式定义要检索的类型的方法(即bool GetBool (string field)、int GetInteger (string field))进行访问,因此您可以使用一小组内置类型和自定义类(例如CustomBaseObject) .
是否有任何现有的数据结构实现可以做到这一点? 这是解决我在这里提出的问题的另一种(更好)方法吗? (考虑到访问和修改操作的复杂性)
另外,我不知道对List<object> values 进行装箱/拆箱的最佳方法是什么,除了像(type)values[index] 那样投射它。
【问题讨论】:
-
使用老式的 System.Data.DataTable 怎么样?
-
看起来不错!但是,我看到 Unity3D (Mono 2.10.2) 似乎没有可用的命名空间
System.Data,所以我无权访问DataTable:(
标签: c# data-structures dictionary hashtable c#-2.0