コード例 #1
0
 public string Tag(char [] value)
 {
     // substring 1 doesn't start with '@' == tag
     // else substring 2
     if (_count < 2 || _lens[1] < 1)
     {
         return(null);
     }
     if (value[_starts[1]] != '@')
     {
         return(_tagCache.GetFromCache(value, _starts[1], _lens[1]));
     }
     //return new string(value, _starts[1], _lens[1]);
     if (_count < 3)
     {
         return(null);
     }
     if (_lens[2] > 0 && value[_starts[2]] == '@') // empty tag scenario
     {
         return(_tagCache.GetFromCache(value, _starts[3], _lens[3]));
     }
     //return new string(value, _starts[3], _lens[3]);
     return(_tagCache.GetFromCache(value, _starts[2], _lens[2]));
     //return new string(value, _starts[2], _lens[2]);
 }