I'm having problems with this code.
Whenever it runs, it causes an exception of type System.NullReferenceException
.
// Clear out the Array of code words
wordBuffer = null;
Int32 syntaxCount = 0;
// Create the regular expression object to match against the string
Regex defaultRegex = new Regex(@"\w+|[^A-Za-z0-9_ \f\t\v]",
RegexOptions.IgnoreCase | RegexOptions.Singleline);
Match wordMatch;
// Loop through the string and continue to record
// words and symbols and their corresponding positions and lengths
for (wordMatch = defaultRegex.Match(s); wordMatch.Success; wordMatch = wordMatch.NextMatch())
{
var word = new Object[3] { wordMatch.Value, wordMatch.Index, wordMatch.Length };
wordBuffer[syntaxCount] = word;
Debug.WriteLine("Found = " + word[0]);
syntaxCount++;
}
// return the number of symbols and words
return syntaxCount;
The exception occurs on these two lines (if I remove the first, the exception occurs on the second):
Debug.WriteLine("Found = " + word[0]);
syntaxCount++;
Specifically when I try to get the value of word[0]
, E in the second line with the variable syntaxCount
, but none of them is null, as you can see in the image below:
Thevariable"s" is just a line of a RichEditBox, word[0]
has a value, so why is it causing the NullReferenceException
exception? syntaxCount
has a value too: /