我想在組,語言和TestEnum的所有可能的組合上運行GetResults()。我如何使用lambda表達式重寫這段代碼以避免使用foreach循環?多個foreach循環的Lambda表達式
public enum TestEnum
{
ONE,
TWO,
THREE
}
public static void Test1()
{
List<string> groups = new List<string>() { "group1", "group2", "group3", "group4" };
List<string> languages = new List<string>() { "EN-CA", "FR-CA" };
List<string> results = new List<string>();
foreach (string group in groups)
{
foreach (string language in languages)
{
foreach (TestEnum enumval in Enum.GetValues(typeof(TestEnum)))
{
results.Add(GetResult(group, language, enumval));
}
}
}
}
public static string GetResult(string group, string language, TestEnum enumval)
{
return group + language + enumval.ToString();
}
相反比調用'GetValues'然後得到字符串值,你可以使用'GetNames'(也就是說,除非你真正的代碼使用了實際值,而不僅僅是字符串表示)。 – Servy
我建議使用Resharper的試用版,它會將它們轉換爲你,它幫助我快速學習 – Jonesopolis