我想将字符串放入我拥有的列表中,并将它们转换为适当的枚举。使用 enum.parse 的代码可以做到这一点。我的代码的问题是它在离开循环后不存储 dispoFilters。解决这个问题的好方法是什么?
// Get Disposition enum
if (model.FilterSet.Dispositions != null)
{
List<int> dispoFilters = new List<int>();
for (int i = 0; i < model.FilterSet.Dispositions.Count; i++)
{
dispoFilters.Add((int)((RespondentStatus)Enum.Parse(typeof(RespondentStatus), model.FilterSet.Dispositions[i].ToString())));
}
}
最佳答案
您的代码在离开 IF 语句后不会存储 dispoFilters。
将您的声明上移一点。
List<int> dispoFilters = new List<int>();
if (model.FilterSet.Dispositions != null)
{
for (int i = 0; i < model.FilterSet.Dispositions.Count; i++)
{
dispoFilters.Add((int)((RespondentStatus)Enum.Parse(typeof(RespondentStatus), model.FilterSet.Dispositions[i].ToString())));
}
}
Scope是用于定义变量可用多长时间以及对代码的哪些部分可用的术语。通过在 if
语句中声明变量,您在退出 if 时失去了作用域。
关于c# - 存储可以循环编辑的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20552333/