c# - 将值从 sortedset 复制到数组
问题描述
我目前正在一个项目中使用排序集,然后我需要将它们放在一个数组中以使用索引对其进行迭代。我遇到了一个奇怪的问题,即 CopyTo 方法无法正常工作,我想知道是否有真正的原因。我的代码是:
SortedSet<float> zValuesSet = new SortedSet<float>();
//Insert some values in the set
float[] zValues = new float[zValuesSet.Count];
zValuesSet.CopyTo(zValues);
使用这个,我遇到一个错误,告诉我我在 zValues 中分配的值比它的容量多,即使我使用 Set.Count 来获取容量。为了解决我的问题,我使用了:
List<float> zValuesList = new List<float>(zValuesSet);
float[] zValues = zValuesList.ToArray();
但是,这可能会导致使用第一种方法可以避免的成本(我猜?)。所以我想知道为什么会发生这种情况?
编辑:那是我的错,我正在使用这种集合的多次出现并且我拼错了它......所以副本运行良好。
解决方案
您可以通过这种方式直接转换为数组:
SortedSet<float> zValuesSet = new SortedSet<float> { 1, 2, 3 };
float[] zValues = zValuesSet.ToArray();
推荐阅读
- amazon-web-services - 如何在 EC2 Mac 实例上安装和运行 docker.app
- postgresql - 我应该期待 9.6 与更高版本的 Postgres 迁移脚本之间有什么区别?
- sequelize.js - 续集 findOne 返回 null 然后模型为空
- php - 表单中的表单,PHP
- java - 我需要帮助确定在 Mac 上使用 RL4J 在 Anylogic PLE 中导致控制台调试垃圾邮件的问题
- java - 是否可以将 Hazelcast 客户端 4.1 与版本 3 的服务器一起使用?
- python - PyMongo:2秒递归时间延迟
- c# - 无法模拟 HttpRequestBase 中的查询字符串以进行单元测试
- ionic-framework - Ionic 5 / Capacitor:如何确定应用程序是在浏览器中运行还是编译为本机应用程序?
- python - 我怎样才能为每两个值做比较运算符?