我想在C#中拥有一个灵活的数据结构,它可以像R和Python中的数据帧一样工作(或者像excel表一样)。
我能找到的最接近的是C#中的本机数据表。
是否有更好的表结构可以保存不同列中不同类型的数据?
答案 0 :(得分:4)
您可以在.NET中使用DataTable
。它允许您定义一组类型化列(请参阅Columns
property)以及添加多行(请参阅Rows
property)。
完成后,您可以通过以下方式轻松访问任何行:
但是,请考虑以下内容:List<T>
anonymous types(来自LINQ中查询的投影)或强类型可能同样好,如果不是更好(不需要字符串获取)列)根据您的需要(如果您需要动态访问权限取决于用户输入,那么使用DataTable
会更好)。
如果您只是想要一个交叉矩阵值,那么匿名类型是获取强类型,编译时检查的值列表的简单方法,与动态查找值相比,它具有更多优势。
答案 1 :(得分:2)