You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#如何从字符串数组中获取与长字符串匹配的具体值?

高效获取匹配的字符串元素

给定长字符串:

string line = "this is a banana testing quote.";

和搜索数组:

string[] searchList = new string[4] {"b", "quote", "tee", "obb"};

使用searchList.Any(line.Contains)只能判断字符串是否包含数组中的任意元素,但无法获取具体匹配值。如果要避免二次遍历,直接拿到匹配元素,推荐以下高效方法:

  • 获取第一个匹配元素:用FirstOrDefault方法,它会在找到第一个满足条件的元素时立即停止遍历,无需扫描整个数组,效率和Any相当,同时直接返回匹配值:
string matchedItem = searchList.FirstOrDefault(item => line.Contains(item));

如果已经通过Any确认存在匹配元素,也可以直接用First方法:

string matchedItem = searchList.First(item => line.Contains(item));
  • 获取所有匹配元素:如果需要数组中所有符合条件的元素,可使用Where方法(会遍历整个数组,适合需要完整匹配结果的场景):
IEnumerable<string> matchedItems = searchList.Where(item => line.Contains(item));

内容的提问来源于stack exchange,提问作者kown owl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 07:11:05