在内存(.net)中表示数据的可能方式

在内存(.net)中表示数据的可能方式,.net,data-structures,.net,Data Structures,在.Net(或一般情况下)内存中表示数据的可能方式有哪些? 如果可以按键(或多个键)对数据进行排序和查找,那就太好了。 我们正在考虑使用集合、数组、集合列表/数组。一个对象将位于多个集合中(一个已排序的asc,另一个desc,等等) 也许这不是一个好主意,我们想听听其他可能的解决方案 多谢各位 在.Net中(或一般情况下)内存中表示数据的可能方式有哪些 在.NET中有两种类型:可以在内存中以不同的方式存储。CLR还负责决定如何在内存中表示数据,以便开发人员不必担心 如果可以按键(或多个键)对数据

在.Net(或一般情况下)内存中表示数据的可能方式有哪些?
如果可以按键(或多个键)对数据进行排序和查找,那就太好了。 我们正在考虑使用集合、数组、集合列表/数组。一个对象将位于多个集合中(一个已排序的asc,另一个desc,等等)

也许这不是一个好主意,我们想听听其他可能的解决方案

多谢各位

在.Net中(或一般情况下)内存中表示数据的可能方式有哪些

在.NET中有两种类型:可以在内存中以不同的方式存储。CLR还负责决定如何在内存中表示数据,以便开发人员不必担心

如果可以按键(或多个键)对数据进行排序和查找,那就太好了


你可以看看这门课。你还有。。。(这个列表非常庞大)

这是一个非常广泛的问题。见:


NET库包括。

正如Mud所说,这是一个相当普遍的问题,因此您可能需要更具体一点,以获得您想要的准确答案

一般来说,与所有其他优秀语言一样,.NET提供了所有“正常”的集合类型(字典、列表等)。此外,.NET还提供了LINQ,它非常适合对集合进行排序和查询。e、 g

var array = new string[] {"banana", "pineapple", "apple", "cherry"};

// basic sorting
var sortedArray = array.OrderBy(a => a).;

foreach (var s in sortedArray)
{
    Console.WriteLine(s);
}

// filtering
var filteredArray = array.Where(a => a.Contains("apple"));

foreach (var f in filteredArray)
{
    Console.WriteLine(f);
}

LINQ将处理任何类型的收集。要使用它,您需要.NET 3.5或更高版本,并且必须使用System.Linq添加
,以访问必要的扩展方法。

您好,Tim,您对Linq的性能有什么经验?它是否适用于性能不重要但非常重要的应用程序?谢谢,如果您的查询构造良好,那么性能通常非常出色。事实上,在许多情况下,性能比使用“传统”代码要好,因为查询是建立的,但在需要结果之前不会实际执行。这可以减少DB网络往返次数,或减少必须处理的数据。看见我还推荐LinqPad来学习Linq和这里的测试:嗨,Darin,你大部分时间都使用什么结构?字典还是别的什么?Thanks@This是的,答案取决于我想做什么。比如说BookKeeping应用程序需要在RAM中存储大量事务,它们需要通过日期范围、类型、状态、客户号等进行访问。根据您的愿望,您可能希望根据这些参数中的任何一个对它们进行过滤。bookkeping应用程序应使用哪种数据结构?谢谢。@就是这样,您需要定义很多*
(是5K、5M、5B或更多…)以及应用程序预期运行的服务器/客户端计算机的特征。它是服务器还是客户端应用程序?您是要存储单个客户端的事务还是要存储多个客户端的事务?这些事务是否预期由多个线程并行访问?在为特定场景选择合适的体系结构和数据类型之前,有很多问题需要考虑。好的,我想你可以给我们一些提示,但看起来我已经浪费了你的时间。对不起,谢谢。Cheeshi Mud,非常有用的链接。非常感谢。