c# - Array.Contains() 按值与数组

标签 c# contains

如何使用 Contains(),但将数组作为比较对象?这里的区别在于我需要检查数组内容的相等性,而不是内存地址。我怎样才能做到这一点?

var array = List<byte[]>();
var searchFor = new byte[23]; //has some value in it
array.Contains(searchFor); //Doesn't work properly

最佳答案

bool containsArray = array.Any(a => a.SequenceEqual(searchFor));

如果顺序对于平等并不重要:

var orderedSearchFor = searchFor.OrderBy(x => x);
bool containsArray = 
      array.Any(a => a.OrderBy(x => x).SequenceEqual(orderedSearchFor));

关于c# - Array.Contains() 按值与数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19601059/

相关文章:

python - matplotlib.Path.contains_points : "radius" parameter defined inconsistently

swift - Swift 中的闭区间帮助

c# - 如何在没有管理员权限的情况下安装我的 C# 应用程序?

list - Dart/Flutter-比较两个List <dynamic>,如果它们具有相同的id值

c# - 添加引用asp.net后编译错误

c# - 为什么字典键应该是不可变的?

java - 我正在寻找一个类似包含的可迭代方法

包含运算符的 Powershell 脚本不起作用

c# - C# 中的静态构造函数

c# - 为什么要检查 SynchronizationContext 是否为空?