私はラムダ式が初めてです。それらを実践しながら学んでいます。for ループをラムダ式に変換する方法について質問があります。
EnumHelper.GetEnumFromString
文字列の説明を受け取り、列挙型を返すヘルパー メソッドです。
[Flags]
public enum Colors
{
[DescriptionAttribute("YL")]
Yellow = 1,
[DescriptionAttribute("RD")]
Red = 2,
[DescriptionAttribute("GR")]
Green = 4
}
string colorStr = "GR,RD";
List<Colors> clrs = colorStr.Split(new char[] { ',' }).Select(p => EnumHelper.GetEnumFromString<Colors>(p)).ToList();
Colors currentValidColors = Colors.Green;
for (int i = 0; i < clrs .Count; i++)
{
if (i == 0)
currentValidColors = clrs [i];
else
currentValidColors = currentValidColors | clrs [i];
}