在.Net(或一般)中在内存中表示数据的可能方法是什么? 如果可以按键(或多个键)对数据进行排序和查找,那将会很棒。 我们正在考虑使用集合,数组,集合/数组列表。一个对象将在几个集合中(一个排序为asc,其他desc等)。
也许这不是一个好主意,我们希望听到其他一些可能的解决方案。
谢谢
答案 0 :(得分:1)
在.Net(或一般)中在内存中表示数据的可能方法是什么?
在.NET中,您有两种类型:value types and reference types,可以在内存中以不同方式存储。此外,CLR还有责任决定如何在内存中表示数据,以便开发人员不必担心它。
如果可以按键(或多个键)对数据进行排序和查找,那就太棒了
您可以查看Dictionary<TKey, TValue>
课程。您还有static arrays,dynamic lists,...(此列表很大)
答案 1 :(得分:0)
这是一个非常广泛的问题。请参阅:data structures
.NET库包含classes which represent many commonly used data structures。
答案 2 :(得分:0)
正如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或更高版本,并且必须添加using System.Linq
才能访问必要的扩展方法。