我正在创建一个配置文件页面向导,因此用户将有相当多的选择框进行验证。
我设置选择框的值的方式是字符串数组的键。
例如:
string[] HairColor = {"blonde", "amber", "black", "platinum"}.
如果我创建一个帮助器静态类,并且使用如下方法,那么是否存在线程问题:
public static string GetHairColor(int key)
{
string[] HairColor = {"blonde", "amber", "black", "platinum"}.
return HairColor[key];
}
我想要返回一个字符串的原因是因为我宁愿限制我必须验证的数量,如果数字返回一个值,那么我调用db或cache save。因此,不是用户插入字符串值,而是根据它们传入的数字为它们插入它。
我的问题是,如果用户同时检查此方法,是否会出现线程问题?
*注意我没有将数组传递到视图中,我只是试图快速检查用户是否没有传入一个不存在的数字,如果它确实抓住并坚持下去。 感谢大家的帮助。
答案 0 :(得分:1)
注意我没有将数组传递到视图中,我只是想快速检查用户是否传入了一个不存在的数字,如果它确实抓住并持续存在。< / p>
然后不要让用户传递无效的号码,这是最好的用户设计。让它下降。
作为旁注:
public static string GetHairColor(int key)
{
string[] HairColor = {"blonde", "amber", "black", "platinum"}.
return HairColor[key];
}
如果您的所有验证都是,那么将抛出IndexOutOfRangeException。
答案 1 :(得分:0)
因为您使用的是静态方法,所以不会出现任何线程问题,因为访问静态值的所有代码都在自己的会话中运行。静态值是主应用程序线程的一部分,对任何其他线程或会话都没有影响。