我正在尝试从列表中删除项目奖学金'不包含字符串'状态'在其Student_state'属性中。
if (States != "")
{
scholarships.RemoveAll(s => !s.Student_state.Contains(States));
scholarships.RemoveAll(s => s.Student_state == null);
}
!人物没有做到这一点。有什么想法吗?
答案 0 :(得分:1)
是否可能出现区分大小写问题? String.Contains进行区分大小写的测试。我过去使用以下方法来实现不区分大小写的测试:
(s.Student_state.IndexOf(States, StringComparison.CurrentCultureIgnoreCase) == -1)
答案 1 :(得分:0)
您正在测试变量States,而不是字符串“States”(除非该变量当然是“States”)。
您的代码应为:
if (States != "")
{
scholarships.RemoveAll(s => !s.Student_state.Contains("States"));
scholarships.RemoveAll(s => s.Student_state == null);
}
答案 2 :(得分:0)
if (States != "")
{
scholarships.RemoveAll(s => s.Student_state == null);
scholarships.RemoveAll(s => !s.Student_state.Contains("States"));
}
答案 3 :(得分:0)
如何只选择你想要的?
if (States != "")
{
scholarships = scholarships.Where(s=> !string.IsNullOrEmpty(s.Student_state) && s.Student_state.Contains(States)).ToList();
}