我正在使用静态方法和属性。当我调用一个静态方法时,会出现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
。
有人可以解释一下吗?