如何使用string.Contains作为值列表

时间:2011-05-06 18:35:20

标签: c# .net-4.0

我有以下xmlnode(字符串),其值的类型很少,即:

"Ansi_nulls","Encrypted","Quoted_identifer" etc.

我想使用xmlNode.Contains ("xxx","yyy") ..

测试xmlnode

正确的语法是什么?

5 个答案:

答案 0 :(得分:3)

如果您正在测试节点的完整(完整)值,可以通过撤消呼叫来完成;检查已知值列表是否包含当前节点值:

new[]{"Ansi_nulls","Encrypted","Quoted_identifer", ...}.Contains(xmlNode);

答案 1 :(得分:2)

包含要测试的字符串。

解决问题的一种方法是使用简单的正则表达式

using System.Text.RegularExpressions;

if (Regex.IsMatch(nodevalue, "(Ansi_nulls|Encrypted|Quoted_identifer)")...

答案 2 :(得分:2)

if (new[] {"xxx","yyy"}.Any(n => xmlNode.Contains(n)))

答案 3 :(得分:2)

我会使用sehes解决方案创建一个扩展方法:

    public static bool Contains(this string source, params string[] values)
    {
        return values.Any(value => source.Contains(value));
    }

你可以这样打电话:

        xmlNode.Contains("string", "something else");

答案 4 :(得分:0)

一个简单的if语句将起作用:

if (xmlNode.Contains("xxx") && xmlNode.Contains("yyy"))
{
// your work
}