private bool IsMatch(MatchingEnd end, byte b) { byte[][] upper; byte[][] lower; if (end == MatchingEnd.Start) { upper = startStringUpper; lower = startStringLower; } else { upper = endStringUpper; lower = endStringLower; } for (var i = 0; i < currentStartStringsToSkip.Length; i++) { if (currentStartStringsToSkip[i]) { continue; } var lowerToMatch = lower[i]; var upperToMatch = upper[i]; if ((b == lowerToMatch[matchPosition] || b == upperToMatch[matchPosition])) { continue; } if (end == MatchingEnd.Start && state == SearchState.MatchingStart) { currentStartStringsToSkip[i] = true; } else { return(false); } } return(currentStartStringsToSkip.Any(x => x == false)); }
private bool IsMatch(MatchingEnd end, byte b) { byte[][] upper; byte[][] lower; if(end == MatchingEnd.Start) { upper = startStringUpper; lower = startStringLower; } else { upper = endStringUpper; lower = endStringLower; } for(var i = 0; i < currentStartStringsToSkip.Length; i++) { if (currentStartStringsToSkip[i]) continue; var lowerToMatch = lower[i]; var upperToMatch = upper[i]; if ((b == lowerToMatch[matchPosition] || b == upperToMatch[matchPosition])) continue; if (end == MatchingEnd.Start && state == SearchState.MatchingStart) currentStartStringsToSkip[i] = true; else return false; } return currentStartStringsToSkip.Any(x => x == false); }
private bool IsMatch(MatchingEnd end, byte b) { IList<byte[]> upper; IList<byte[]> lower; if(end == MatchingEnd.Start) { upper = StartStringUpper; lower = StartStringLower; } else { upper = EndStringUpper; lower = EndStringLower; } for(var i = 0; i < currentStartStringsToSkip.Count; i++) { if (!currentStartStringsToSkip[i]) { var lowerToMatch = lower[i]; var upperToMatch = upper[i]; if (!(b == lowerToMatch[matchPosition] || b == upperToMatch[matchPosition])) { if (end == MatchingEnd.Start && state == SearchState.MatchingStart) currentStartStringsToSkip[i] = true; else return false; } } } return currentStartStringsToSkip.Any(x => x == false); }
private bool IsMatch(MatchingEnd end, byte b) { byte[] upper; byte[] lower; if(end == MatchingEnd.Start) { upper = StartStringUpper; lower = StartStringLower; } else { upper = EndStringUpper; lower = EndStringLower; } return b == lower[matchPosition] || b == upper[matchPosition]; }