0

私はこの方法を持っています:

public static IQueryable<char> Test(this string text, Func<Func<char, bool>, int> func)

ここで、char はテキスト内で検索する文字です。bool は文字が見つかったかどうかを判断し、int はテキスト内の文字のインデックスを返します。

このコードはどのように記述すればよいですか? ありがとう。

4

1 に答える 1

2

これが何をするのかを理解できる例を次に示します。
なぜこれが必要なのかわかりませんが、おそらく理由があります:)。

    // These Func's take a char and return a boolean value.
    Func<char, bool> f1 = (ch) => ch == 'a';
    Func<char, bool> f2 = (ch) => ch == 'b';

    char chr = 'a';

    // This Func takes a function (of the type we saw above) and returns an integer.
    Func<Func<char, bool>, int> func = (foo) => foo(chr) ? 1 : 0;

    // Run the complex Func by passing a function as an input param and receiving an integer as a response.
    int res1 = func(f1); // 1
    int res2 = func(f2); // 0

あなたの要求により、ここに別の例があります(私はまだ良い使用法を見つけることができませんが、何でも):

    string text = "TesTinG";
    Func<char, bool> IsCapital = ch => ch == char.ToUpper(ch);
    int counter = 0;
    foreach (char chr in text.ToCharArray())
    {
        Func<Func<char, bool>, int> func = fn => fn(chr) ? 1 : 0;
        counter += func(IsCapital);
    }
于 2015-02-10T08:58:41.407 に答える