C# 检查列表是否<;字符串>;包含除指定值之外的任何值
我需要检查列表是否包含指定的3以外的任何值 例如: 我有这个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"))
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>扩展方法”将其抛出。然而,这样认为可能被认为是过早的优化。