哪一个更适合在viewstate中存储数据?

时间:2012-05-18 11:40:05

标签: c# asp.net .net custom-controls viewstate

我创建了一个新的asp.net自定义控件。此控件通过字符串列表获取其数据。 现在我想知道对我来说什么是更好的解决方案?存储List<String>string[]

4 个答案:

答案 0 :(得分:1)

通常的做法是在使用静态数组时使用string[],基本上当您不需要添加/删除元素时(仅通过索引访问)。

如果需要修改集合,请使用List<string>

因此,在您的情况下,请使用List<string>:)

答案 1 :(得分:1)

ViewState而言,它没什么区别。两者的大小应该几乎相同。我希望List<string>提供List<T>

提供的额外细节

答案 2 :(得分:1)

基于this answer to another question,您最好将其存储为数组,因为列表本身会增加一些存储开销。

在中从视图状态检索之后是否从数组创建列表取决于您。

对于那些说“使用列表,它为数组提供更多细节”的人 - 一旦集合在ViewState中,它是否具有良好的Add方法无关紧要。

public List<string> MyItemsFromViewState
{
    get { return new List<string>((string[])ViewState["MyItems"]); }
    set { ViewState["MyItems"] = value.ToArray(); }
}

答案 3 :(得分:0)

字符串列表更适合您放置在视图状态并从视图状态获取,因为字符串列表将为您提供更大的工作灵活性