Здравствуйте, Kore Sar, Вы писали:
KS>ИСПОЛЬЗУЙТЕ ЭТО ВСЕГДА!
KS>public static class MyExtentionMethods
KS>{
KS> public static bool AsciiStartsWith(this string str, string pattern)
KS> {
KS> if (pattern.Length > number.Length) return false;
KS> bool match = true;
KS> for (int digitIndex = 0; digitIndex < pattern.Length && match; digitIndex++)
KS> {
KS> match = match && number[digitIndex].Equals(pattern[digitIndex]);
KS> }
KS> return match;
KS> }
KS>}
Прежде чем капслочить тут на всех, выставил бы для начала проверку аргументов что ль…

во-вторых, надо бы всё-тки поточнее определиться, как называется первый параметр. Ну, и в-третьих, раз уж крутишься в цикле до тех пор, пока предекат (match) истинный, то чего его запоминать и умножать на самого себя? Достаточно было бы
for(var i = 0; i < pattern.Length; i++) {
if(!number[i].Equals(pattern[i])) {
return false;
}//if
}//for
return true;
А на последок: слово "Ascii" в имени метода не соответствует тому, что происходит внутри метода — проверки, что обрабатываемые строки содержат символы лишь Askii-диапазона нигде нет. Так что название тоже не мешает подобрать более подходящее.