0

ResourceSetそれぞれの文字列パターンでa をフィルタリングする必要がありますKey。私の関数は、この目的のためにパラメーターとしてラムダ式を受け取る必要があります。私はlambdaの経験がないので、ResourceSetの各DictionaryEntryを照会する方法がわかりません。

これが私の現在の方法ですが、見苦しく古いように見えます:

public IDictionary<string, string> FindStrings(string resourceName, params string[] pattern)
{
    OpenResource(resourceName);

    ResourceSet resourceSet = _currentResourseManager.GetResourceSet(CultureInfo.CurrentUICulture, true, true);
    Dictionary<string, string> result = new Dictionary<string, string>();

    foreach (DictionaryEntry entry in resourceSet)
    {
        string resourceKey = entry.Key.ToString();

        foreach (string p in pattern)
        {
            if (resourceKey.StartsWith(p))
            {
                string resource = entry.Value.ToString();
                result.Add(resourceKey, resource);
            }
        }
    }

    return result;
}

Func パラメータはどのように表示されますか? ラムダはどのように見えますか?

4

1 に答える 1