KS>Сделал так, чтобы половина результатов проверяли все символы.
KS>KS> myStrings[i] = rnd.Next(1000000).ToString("{0:D6}"); // 6 digits
KS> patterns[i] = rnd.Next(2) == 0 ? rnd.Next(1000).ToString() : myStrings[i].Substring(3);
KS>
KS>Результат еще хужа для фреймворка:
KS>KS>U.StartWith: 00:00:00.0330000
KS>String.StartsWith: 00:00:00.0490000
KS>Так что врядли вы правы.
На самом деле ничего не изменилось )
наверно имелось ввиду ... : myStrings[i].Substring(0,3);
а в цифрах опечатка так как они близки и в 10 раз не отличаются
это ладно
на самом деле с myStrings[i].Substring(3,3); // нет совпадений
тоже 10 раз
00:00:00.014
00:00:00.143
myStrings[i] = rnd.Next(1000000).ToString("{0:D6}"); // 6 digits
patterns[i] = myStrings[i].Substring(0,3); // все совпадает
00:00:00.017
00:00:00.155
прибавили они почти одинаково
т.е. как мне кажется составляющая вызова и маршалинга параметров остается доминирующей