在C#中使用一个大的静态数组(Windows Phone 7上的Silverlight)

前端之家收集整理的这篇文章主要介绍了在C#中使用一个大的静态数组(Windows Phone 7上的Silverlight)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个很简单的问题,我不能相信我不能自己回答.但是,你去了.

我有一个大的静态列表(城市,纬度和经度),我想在我的Windows Phone 7 Silverlight应用程序中使用.其中约有10,000个.我想将这些数据静态嵌入到我的应用程序中,并以数组的形式进行访问(我需要定期遍历整个代码列表).

这将是我最有效的存储方式?我有点老学校的样子,所以我认为最快的做法是:

public struct City
{
    public string name;
    public double lat;
    public double lon;
};

接着…

private City[] cc = new City[10000];

public CityDists()
{
    cc[2].name = "Lae,Papua New Guinea"; cc[2].lat = 123; cc[2].lon = 123;
    cc[3].name = "Rabaul,Papua New Guinea"; cc[3].lat = 123; cc[3].lon = 123;
    cc[4].name = "Angmagssalik,Greenland"; cc[4].lat = 123; cc[4].lon = 123;
    cc[5].name = "Angissoq,Greenland"; cc[5].lat = 123; cc[5].lon = 123;
...

然而,在代码实际运行之前,这会引发“内存不足”错误(我假设代码本身最终被加载到内存中).

我在线阅读的一切都告诉我要使用XML资源或文件,然后把它们反序列化到一个类的实例中.但是真的可以和使用结构体一样快吗? XML不会花时间解析吗?

我想我有能力在这里写代码 – 我只是不知道最好的方法是开始.我对加载速度感兴趣(更重要的是)运行时间比任何事情更多.

任何帮助非常感谢 – 这里第一个问题,所以我希望我没有做任何骨头.

克里斯

解决方法

如果从xap加载xml文档为您工作..

这是我发布的一个项目,展示了通过XDocument / LINQ从XAP加载xml文档,并将数据绑定到列表框以供参考.

binding a Linq datasource to a listbox

原文链接:https://www.f2er.com/csharp/96860.html

猜你在找的C#相关文章