【发布时间】:2012-08-19 08:56:22
【问题描述】:
我正在使用静态方法和属性,当我调用静态方法时,我得到一个NullReferenceException。
示例类:
internal class Utils
{
private static Regex[] _allRegexes = { _regexCategory };
private static Regex _regexCategory = new Regex(@"(?<name>c(ategory){0,1}):(?<value>([^""\s]+)|("".+""))\s*", RegexOptions.IgnoreCase);
public static string ExtractKeyWords(string queryString)
{
if (string.IsNullOrWhiteSpace(queryString))
return null;
_allRegexes[0];//here: _allRegexes[0]==null throw an exception
}
}
原因:
_allRegexes[0]==null
我不明白为什么会发生这种情况,我认为_allRegexes 应该在我调用该方法时被初始化。
谁能解释一下?
【问题讨论】:
-
allRegexes 本身不是一个有效的语句...?
标签: c# .net static-methods