如何使用linq检查字符串是否包含特定字符串?

时间:2021-06-23 07:18:46

标签: c# linq

我有课

public class IgonoreValues
{
    internal static List<string> IgonoreValuesList = new List<string>
    {
       "Merge: ","# Conflicts:"
    };
}

它有一个字符串列表。

现在我有一个包含它的 String ChangeSetInfo

    commit 1084b2a815b47fb03632e5bc32a0468ceb1d4bf5
Author: shw<shw@gmail.com>
Date:   Wed Jun 23 09:36:34 2021 +0530

    Manager Merge: 

A   Manager/EventCollectionManager.cs
A   Manager/EventCollectionTimer.cs
A   Manager/EventManager.cs
A   Manager/GitManager.cs

我想为 if (!ChangeSetInfo.Contains("Merge: ") || !ChangeSetInfo.Contains("# Conflicts:")) 执行一个 linq 命令行

谁能告诉我一种方法吗?

2 个答案:

答案 0 :(得分:2)

也许您想检查字符串是否包含任何这些忽略字符串。然后使用 Any:

if (!IgonoreValues.IgonoreValuesList.Any(ChangeSetInfo.Contains))
{
   // ...
}
 

不区分大小写的变体:

if (!IgonoreValues.IgonoreValuesList.Any(iv => ChangeSetInfo.Contains(iv, StringComparsion.OrdinalIgnoreCase)))
{
   // ...
}

答案 1 :(得分:1)

试试这个if(!IgonoreValues.IgonoreValuesList.Any(o => ChangeSetInfo.Contains(o)))