首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >存储这些值的最轻的集合是什么?

存储这些值的最轻的集合是什么?
EN

Stack Overflow用户
提问于 2012-10-29 16:34:03
回答 3查看 197关注 0票数 3

我有很多对象(比如10.000,或多或少)。每个对象has3值:

  1. 索引(小数,如0,0 <= X <= 100.000,9);
  2. 纬度值;
  3. 经度值;

我需要执行一些搜索,因为索引值。这件事的路灯是哪一个?List<MyObject>?我知道有哈希表,但只有两个值.

我从一个.csv文件中读取这些值,并将其存储在应用程序中。WebForm,.NET 4.5.

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-10-29 17:18:32

你为什么不用这样的字典:

代码语言:javascript
复制
public class Position
{
    public Latitude  Latitude  { get ; set ; }
    public Longitude Longitude { get ; set ; }
}

public Dictionary<decimal,Position> Positions ;

或者在字典中使用元组:

代码语言:javascript
复制
public Dictionary<decimal,Tuple<Latitude,Longitude>> Positions ;
票数 2
EN

Stack Overflow用户

发布于 2012-10-29 16:37:02

在内存使用方面,最简单的方法是将它们放入结构中,并将它们保存在这样的结构数组中。按照您的说法,您不能再更严格地打包数据了:两个双倍和一个小数点将占用每个条目32个字节,而结构数组在此基础上不会增加任何每项开销。

尽管如此,这将减缓您的编码,并可能节省太少的问题,在实践中。

票数 4
EN

Stack Overflow用户

发布于 2012-10-29 16:37:46

我认为绝对最轻的方法是将你的值隐藏成一个没有签名的长,尽管它有点麻烦。

为了真正掌握哪种方法是最有效的方法,我建议使用测试值来尝试所有这些方法,并查看它们上的sizeof of ()输出。这样,您就可以确定它们的运行时内存大小。

我建议使用一个自定义结构来保存您的值,元组也可以工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13125814

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档