gpt4 book ai didi

c# - 对成对的数值进行排序——是否有 .NET 等同于 Java 中的散列图?

转载 作者:行者123 更新时间:2023-11-30 22:41:11 25 4
gpt4 key购买 nike

这几天我一直有一个烦人的问题,这就是我正在尝试做的事情:

我正在编写一个程序,以多种方式处理各种数字集,到目前为止一切顺利 - 现在我使用循环控制其中一个计算,因此每次循环它都会输出一个 int 值 x 和一个 int值 y。

现在 x 是顺序的,从计数器派生而来,y 只是一个变量。

所以我重复一遍我有一个简单的循环读取数据行

foreach (DataRow dr in dTable.Rows)
{
....
I output x and y (after some calculations)
....
}

现在我想为每一行获取这两个值,最后根据值 y 进行排序!最初我只是想像以前在 java 中那样使用 HashMap 并按值进行排序,但我发现在 c# 中很难像数据字典那样做(我也不想使用临时表)允许您按键排序(在我的例子中是 x)

现在我应该采取什么方法?- 使用循环的输出对值作为数据表的输入?- 使用一个看起来很复杂但最终是维持 x 和 y 之间配对关系的唯一方法的二维数组?

或者是否有任何其他方法可以执行相当于 java hashmap 按值排序的操作?

最佳答案

如果 y 值是唯一的,那么可能:

var list = new SortedList<YType, XType>();
... Loop ...
list.Add(yValue, xValue);

然后根据 y 值对其进行键控和排序,但键必须是唯一的。

让事情变得更复杂,SortedDictionary<,> 也是键控和排序的;尽管在 O 中存在一些细微差别 - 添加或获取是否最便宜等。

关于c# - 对成对的数值进行排序——是否有 .NET 等同于 Java 中的散列图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4923369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com