C#字符串不包含

时间:2014-03-13 00:37:35

标签: c# asp.net-mvc contains

我正在尝试从列表中删除项目奖学金'不包含字符串'状态'在其Student_state'属性中。

if (States != "")
            {
                scholarships.RemoveAll(s => !s.Student_state.Contains(States));
                scholarships.RemoveAll(s => s.Student_state == null);
            }

!人物没有做到这一点。有什么想法吗?

4 个答案:

答案 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();
}