我创建了一个新的asp.net自定义控件。此控件通过字符串列表获取其数据。
现在我想知道对我来说什么是更好的解决方案?存储List<String>
或string[]
?
答案 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)
字符串列表更适合您放置在视图状态并从视图状态获取,因为字符串列表将为您提供更大的工作灵活性