我有一个样本列表。
List<Reminders> remind2 = new List<Reminders>() {
new Reminders() { Checked = true, Name_re = "Impreza" },
new Reminders() { Checked = true, Name_re = "Impreza1" },
new Reminders() { Checked = false, Name_re = "Impreza2" },
new Reminders() { Checked = true, Name_re = "Impreza3" },
new Reminders() { Checked = true, Name_re = "Impreza4" },
new Reminders() { Checked = false, Name_re = "Impreza5" },
new Reminders() { Checked = true, Name_re = "Impreza6" },
new Reminders() { Checked = false, Name_re = "Impreza7" }
};我只有一个变量,例如"Impreza1“。
如何读取这个变量Checked = true?
发布于 2014-12-06 21:47:33
如果您只想要一个布尔结果,请使用linq .Any(),即
var text = "Impreza1";
bool isChecked = remind2.Any(x=>x.Name_re==text && x.Checked);如果您想在变量为true的情况下获取该变量,请尝试以下操作:
var reminder = remind2.FirstOrDefault(x=>x.Name_re==text && x.Checked);
if(reminder!=null)
{
//its checked..do stuff
}发布于 2014-12-06 21:02:29
我认为LINQ让这件事变得非常简单:
List<Reminders> remind2 = new List<Reminders>() {
new Reminders() { Checked = true, Name_re = "Impreza" },
new Reminders() { Checked = true, Name_re = "Impreza1" },
new Reminders() { Checked = false, Name_re = "Impreza2" },
new Reminders() { Checked = true, Name_re = "Impreza3" },
new Reminders() { Checked = true, Name_re = "Impreza4" },
new Reminders() { Checked = false, Name_re = "Impreza5" },
new Reminders() { Checked = true, Name_re = "Impreza6" },
new Reminders() { Checked = false, Name_re = "Impreza7" }
};
var name = "Impresa";
var checkedWithName = from rem in remind2 where rem.Name_re == name && rem.Checked select rem/*.ToList()*/;如果您需要单个Reminders,您可以在结果上调用Single() (http://msdn.microsoft.com/en-us/library/bb155325(v=vs.110).aspx。
发布于 2014-12-06 21:41:46
var result = remind2.FirstorDefault(p=> p.Name_re.ToLower().Equals("Impreza1".ToLower());
bool checked = result.Checked;https://stackoverflow.com/questions/27331726
复制相似问题