Есть ли строка .indexof, который принимает предикат?

Мне нужно быть в состоянии сказать что-то вроде myString.indexof (c =>! Char.isdigit (c)) , но я не могу найти Любой такой метод в .NET Framework. Я что-то скучал по вопросам?

следующие работы, но катится здесь немного утомительным:

using System;

class Program
{
    static void Main()
    {
        string text = "555ttt555";
        int nonDigitIndex = text.IndexOf(c => !Char.IsDigit(c));
        Console.WriteLine(nonDigitIndex);
    }
}

static class StringExtensions
{
    public static int IndexOf(this string self, Predicate<char> predicate)
    {
        for (int index = 0; index < self.Length; ++index) {
            if (predicate(self[index])) {
                return index;
            }
        }
        return -1;
    }
}
10
задан Tom 15 September 2011 в 12:14
поделиться