加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#String Array包含

发布时间:2020-12-15 23:49:45 所属栏目:百科 来源:网络整理
导读:有人可以向我解释为什么代码的顶部部分可以工作,但是当测试是一个数组时它没有 string test = "Customer - "; if (test.Contains("Customer")) { test = "a"; } 下面的代码不起作用 string[]test = { "Customer - " }; if (test.Contains("Customer")) { tes
有人可以向我解释为什么代码的顶部部分可以工作,但是当测试是一个数组时它没有

string test = "Customer - ";
        if (test.Contains("Customer"))
        {
            test = "a";
        }

下面的代码不起作用

string[]test = { "Customer - " };
        if (test.Contains("Customer"))
        {
            test[0]= "a";
        }

解决方法

在第一种情况下,您调用 String.Contains来检查字符串是否包含子字符串.
所以,这个条件返回true.

在第二种情况下,在string []上调用Enumerable.Contains,它检查字符串数组是否包含特定值.
由于集合中没有“Customer”字符串,因此返回false.

这是两个类似的,但实际上是不同类型的不同方法.

如果要检查集合中的任何字符串是否包含“Customer”作为子字符串,则可以使用LINQ .Any()

if (test.Any(s => s.Contains("Customer"))
{
    test[1] = "a";
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读