繁体   English   中英

C#字符串不包含

[英]C# string does not contain

我正在尝试从“奖学金”列表中删除在其“ Student_state”属性中不包含字符串“ States”的项目。

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

角色没有做到这一点。 有任何想法吗?

是否可能存在区分大小写的问题? String.Contains执行区分大小写的测试。 过去,我使用以下方法实现了不区分大小写的测试:

(s.Student_state.IndexOf(States, StringComparison.CurrentCultureIgnoreCase) == -1)

您正在测试变量State,而不是字符串“ States”(当然,除非变量是“ States”)。

您的代码应为:

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

你可以试试这个吗? 语句的顺序在这里很重要。

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

只选择想要的怎么样?

if (States != "")
{
    scholarships = scholarships.Where(s=> !string.IsNullOrEmpty(s.Student_state) && s.Student_state.Contains(States)).ToList();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM