我应该使用什么样的数据结构
本文关键字:数据结构 什么样 我应该 | 更新日期: 2023-09-27 17:58:47
我有一个mysql表,它有一个唯一ID的条目,然后是3个属性。
我在ListBox中显示ID,其他信息在页面的其他部分。它经常被重复使用,以至于我不想每次引用它时都进行另一个查询。我的问题是:我应该使用什么样的数据结构来保存行数据?
二维数组是最好的选择吗?如果是这样的话,那么使用键为ID、值为对包含该行所有值的数组的引用的哈希表是不是很糟糕?
我使用的是.NET 4,并使用C#进行编码。
模型看起来适合表示一行:
public class Foo
{
public string Id { get; set; }
public string Prop1 { get; set; }
public string Prop2 { get; set; }
public string Prop3 { get; set; }
}
和CCD_ 1来表示您的SQL表。当然,您将拥有一个带有方法的存储库,允许您在给定Id
或其他条件的情况下获取单个模型,并获取所有模型。然后将此模型绑定到您的GUI。
我会将它们存储在一个包含DataTable的DataSet中。如果出现这种情况,将返回多个数据表并将其存储在一个数据集中。更多信息:http://msdn.microsoft.com/en-us/library/ms978448.aspx#bdadotnetdata4_topic2c
我不喜欢设置哈希表的方式,因为值数组可能有点草率。如果你想以这种方式绑定,我会把更多的目标放在Hashtable上。然而,特别的是,您不必达到这个级别,因为您可以设置任何可以使用IEnumerable和bind的对象类型。示例:
List<ObjectType> myList = new List<ObjectType>();
当您绑定到对象上的一个属性,然后根据过滤器(LINQ to Entities?)进行显示时,您可以根据用户的过滤器重用数据。
一个可能的警告是,要注意您在web服务器端保存的数据的大小,尤其是在"每次会话"类型的基础上加载的情况下,因为您最终可能会消耗大量内存来处理所有可能的用户选择。哎哟
最好的选择是从中创建一个业务对象类,并将其作为List传递。
如果您只需要小型应用程序中的原始数据,也可以使用内置的DataTable类。