Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 检查列表是否<;字符串>;包含除指定值之外的任何值_C#_.net_.net 4.0 - Fatal编程技术网

C# 检查列表是否<;字符串>;包含除指定值之外的任何值

C# 检查列表是否<;字符串>;包含除指定值之外的任何值,c#,.net,.net-4.0,C#,.net,.net 4.0,我需要检查列表是否包含指定的3以外的任何值 例如: 我有这个var sourceList=新列表(“A”、“B”、“C”、“D”、“E”)我想检查列表是否包含除“E”、“F”、“G”之外的任何值。只需一个Bool就可以了,sourceList是用户将选择的预定义列表的动态子集。我的列表将是静态的 谢谢,使用LINQ: bool contains = sourceList.Any(t => (t != "E" && t != "F" && t != "G"))

我需要检查列表是否包含指定的3以外的任何值

例如: 我有这个
var sourceList=新列表(“A”、“B”、“C”、“D”、“E”)我想检查列表是否包含除“E”、“F”、“G”之外的任何值。只需一个Bool就可以了,
sourceList
是用户将选择的预定义列表的动态子集。我的列表将是静态的

谢谢,

使用LINQ:

bool contains = sourceList.Any(t => (t != "E" && t != "F" && t != "G"));
使用LINQ:

bool contains = sourceList.Any(t => (t != "E" && t != "F" && t != "G"));
var sourceList=新列表(“A”、“B”、“C”、“D”、“E”);
风险值检查表=新列表(“E”、“F”、“G”);
bool anyappend=sourceList.Except(checkList.Any();
var sourceList=新列表(“A”、“B”、“C”、“D”、“E”);
风险值检查表=新列表(“E”、“F”、“G”);
bool anyappend=sourceList.Except(checkList.Any();

用户
除了
任何
扩展以实现您的目标:

var sourceList = new List<string>{"A", "B", "C", "D", "E"};
var c = sourceList.Except( new List<string>{ "E", "F", "G"}).Any();
var sourceList=新列表{“A”、“B”、“C”、“D”、“E”};
var c=sourceList.Except(新列表{“E”、“F”、“G}).Any();

用户
除了
任何
扩展以实现您的目标:

var sourceList = new List<string>{"A", "B", "C", "D", "E"};
var c = sourceList.Except( new List<string>{ "E", "F", "G"}).Any();
var sourceList=新列表{“A”、“B”、“C”、“D”、“E”};
var c=sourceList.Except(新列表{“E”、“F”、“G}).Any();
var sourceList=新列表{“A”、“B”、“C”、“D”、“E”};
bool res=sourceList.SequenceEqual(新字符串[]{“A”、“B”、“C”});
另外,不要忘记,没有您编写的构造函数:

var sourceList=新列表(“A”、“B”、“C”、“D”、“E”)

应该是:

var sourceList = new List<string>{"A", "B", "C", "D", "E"};
var sourceList=新列表{“A”、“B”、“C”、“D”、“E”};
var sourceList=新列表{“A”、“B”、“C”、“D”、“E”};
bool res=sourceList.SequenceEqual(新字符串[]{“A”、“B”、“C”});
另外,不要忘记,没有您编写的构造函数:

var sourceList=新列表(“A”、“B”、“C”、“D”、“E”)

应该是:

var sourceList = new List<string>{"A", "B", "C", "D", "E"};
var sourceList=新列表{“A”、“B”、“C”、“D”、“E”};

创建一个新的列表时,不太需要使用除
之外的
,当前的
任何
解决方案都不能用于不同的字母组合

和的组合应该足够了

var sourceList = new List<string> { "A", "B", "C", "D", "E" };
var except = new[] { "E", "F", "G" };

var containsExcept = sourceList.Any(x => except.Contains(x));
var sourceList=新列表{“A”、“B”、“C”、“D”、“E”};
var except=新[]{“E”、“F”、“G”};
var containscept=sourceList.Any(x=>except.Contains(x));

创建一个新的列表时,不太需要使用除
之外的
,当前的
任何
解决方案都不能用于不同的字母组合

和的组合应该足够了

var sourceList = new List<string> { "A", "B", "C", "D", "E" };
var except = new[] { "E", "F", "G" };

var containsExcept = sourceList.Any(x => except.Contains(x));
var sourceList=新列表{“A”、“B”、“C”、“D”、“E”};
var except=新[]{“E”、“F”、“G”};
var containscept=sourceList.Any(x=>except.Contains(x));
var sourceList=新列表{“A”、“B”、“C”、“D”、“E”};
var besidesList=新列表{“E”、“F”、“G”};
var anyaftern=sourceList.Any(t=>!besidesList.Contains(t));
var sourceList=新列表{“A”、“B”、“C”、“D”、“E”};
var besidesList=新列表{“E”、“F”、“G”};
var anyaftern=sourceList.Any(t=>!besidesList.Contains(t));

@ThomasLevesque,在理解后刚刚更新。无论如何,谢谢。@ThomasLevesque,在理解后刚刚更新。无论如何,谢谢。我很好奇为什么它“不那么令人满意”。不反对或同意,只是对如何以“最佳”方式做事真正好奇。
除了
产生两个列表之间的差异。对于你想做的,这很好,但是考虑创建一个新列表的性能含义,只需用<代码>“< < /Cord>扩展方法”将其抛出。然而,这种想法可能被认为是过早的优化。我很好奇为什么它“不那么令人满意”。不反对或同意,只是对如何以“最佳”方式做事真正好奇。
除了
产生两个列表之间的差异。对于你想做的,这很好,但是考虑创建一个新列表的性能含义,只需用<代码>“< < /Cord>扩展方法”将其抛出。然而,这样认为可能被认为是过早的优化。