private bool IsPinyinMatch(char[] keys, char[] destination) { int i = 0, j = 0; while (i < keys.Length && j < destination.Length) { if (keys[i] == destination[j]) { i++; if (i == keys.Length) return true; } j++; } www.2cto.com return false; } private bool IsPinyinMatch(String keys, String destination) { return IsPinyinMatch(keys.ToCharArray(), destination.ToCharArray()); } private bool IsPinyinMatch(char[] keys, char[] destination) { int i = 0, j = 0; while (i < keys.Length && j < destination.Length) { if (keys[i] == destination[j]) { i++; if (i == keys.Length) return true; } j++; } return false; } private bool IsPinyinMatch(String keys, String destination) { return IsPinyinMatch(keys.ToCharArray(), destination.ToCharArray()); }