c# - C# 中具有两种不同数据类型的二维数组

标签 c# arrays sorting

能否请您告诉我是否可以使用具有两种日期类型的二维数组。我是 C# 的新手。

例如:array[double][string]

我有花的半径,它们的名字如下:

4.7,Iris-setosa
4.6,Iris-setosa
7,Iris-versicolor
6.4,Iris-versicolor
6.9,Iris-versicolor
5.5,Iris-versicolor
6.5,Iris-versicolor
6.3,Iris-virginica
5.8,Iris-virginica

我想将它们放入二维数组中并根据第一个 double 索引对其进行排序。请通过示例告诉我这是否可行。

最佳答案

您尝试组织的数据看起来像名称-值对列表,具有非唯一名称。由于每个名称的项目数量不同,因此二维数组不是对其建模的理想方式。使用将名称映射到半径列表的字典会更好,如下所示:

Dictionary<string,List<decimal>>

以下是您的数据在这样的字典中的组织方式:

var data = new Dictionary<string,List<decimal>> {
    {"Iris-setosa", new List<decimal> {4.7M, 4.6M}}
,   {"Iris-versicolor", new List<decimal> {7M, 6.4M, 6.9M, 5.5M, 6.5M}}
,   {"Iris-virginica", new List<decimal> {6.3M, 5.8M}}
};

我假设在你的情况下半径的表示需要是十进制;您也可以使用实数的另一种表示形式,例如 floatdouble

关于c# - C# 中具有两种不同数据类型的二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26182824/

相关文章:

c# - 使用字体对话框更改字体 C#

c# - 按匹配的枚举名称值排序 List<String>

javascript - 迭代对象的关联数组

c++ - 如何初始化一个大小最初未知的数组?

javascript - 按日期排序 div(即 div id)

linux - 从 INSANE BIG WORDLIST 中删除重复项

c# - C# 中的 short 和 ushort 有什么区别?

java - 使用 selenium web 驱动程序可以在单个单元格中打印多个值

python - 为什么在 Python 中使用 Mergesort 时返回值为 0?

c# - 使用 partial 从自动生成的 linq-sql 对象中抽象方法