c# - 如何检查字符串数组中的任何字符串是否包含在c#中的另一个字符串中
问题描述
我正在编写类似于以下代码的逻辑-
string myString = "ABCD";
if(myString.Contains("AB") && myString.Contains("C") && !myString.Contains("XYZ"))
{
//Do something
}
我想写上面的代码是这样的:
string myString = "ABCD";
if( myString .contains any string from new[] { "AB", "C" } )
{
//Do Something
}
你能告诉我,我怎样才能实现它?提前致谢。
解决方案
你想检查数组是否有Any
这样的项目myString
Contains
:
using System.Linq;
...
// myString contains "AB" or "C"
if (new[]{ "AB", "C" }.Any(item => myString.Contains(item))) {
...
}
把All
它myString
应该包含两个 "AB"
和"C"
// myString contains both "AB" and "C"
if (new[]{ "AB", "C" }.All(item => myString.Contains(item))) {
...
}
推荐阅读
- linux - 当一个进程忙于在用户空间运行时,是否可以被信号中断
- python - warnings.filterwarning 问题(您知道的可重复性极低)
- javascript - Javascript中的addEventListener“点击”不起作用
- javascript - HTML5 File 对象中的文件数据或位置在哪里?
- c# - 两个相同的 Azure 部署;一个总是抛出 404 - 如何找出区别是什么?
- javascript - Javascript 阻止orientationchange 事件处理程序能够同时执行多次
- html - 当用户点击向上向下箭头键时,有没有办法防止在输入日期触发事件?
- angular - 我应该如何在 angular.js 中实现事件处理。通常它不起作用
- reactjs - React Typescript 功能组件语法错误
- visual-studio-code - 在 Visual Studio Code 中运行自定义命令作为运行配置