首页 新闻 搜索 专区 学院

求C#大佬指导一下,为什么使用Contians,返回值老是false

0
悬赏园豆:10 [已解决问题] 解决于 2022-11-22 14:24

string[] Strarr = NBber.Split('\n'); //获取本地字符串数组

        string Snb = txtNumber.Text.Trim();
        string[] Stt = Snb.Split('\n'); //获取文本框字符串数组

        for (int x = 0; x < Stt.Length; x++)
        {
            bool exists = ((IList)Strarr).Contains(Stt[x]);//判断单号是否存在
         }
何生有二十六画的主页 何生有二十六画 | 初学一级 | 园豆:166
提问于:2022-11-22 11:11
< >
分享
最佳答案
0

重构一下代码

bool exists = Stt.Any(x => Strarr.Contains(x));

下面的测试代码输出是 True

using System.Collections;

string nbber = "001\n002\n003";
string[] Strarr = nbber.Split('\n');

string txtNumberText = "003\n004\n005";
string Snb = txtNumberText.Trim();
string[] Stt = Snb.Split('\n');

bool exists = Stt.Any(x => Strarr.Contains(x));

Console.WriteLine(exists);
收获园豆:10
dudu | 高人七级 |园豆:35064 | 2022-11-22 13:28

我试下,谢谢大佬

何生有二十六画 | 园豆:166 (初学一级) | 2022-11-22 13:43
其他回答(1)
0

调试一下吗,循环多次,每次都给 变量exists ,返回true也没break

另外看起来是比较2个list,试试取交集、并集、差集的方法吧

电风扇一个五块 | 园豆:144 (初学一级) | 2022-11-22 12:21

嗯呢

支持(0) 反对(0) 何生有二十六画 | 园豆:166 (初学一级) | 2022-11-22 13:42
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册