相关疑难解决方法(0)

在C#中比较数组的最简单方法

在Java中,Arrays.equals()允许轻松比较两个基本数组的内容(所有基本类型都可以使用重载).

C#中有这样的东西吗?是否有任何"神奇"的方法来比较C#中两个数组的内容?

.net c# arrays compare

150
推荐指数
9
解决办法
16万
查看次数

使用Linq除了两个int数组列表

是否可以使用除了两个int数组列表,如下所示:

List<int[]> a = new List<int[]>(){ new int[]{3,4,5}, new int[]{7,8,9}, new int[]{10,11,12}  };

List<int[]> b = new List<int[]>(){ new int[]{6,7,9}, new int[]{3,4,5}, new int[]{10,41,12}  };

var c = a.Except(b);
Run Code Online (Sandbox Code Playgroud)

并且考虑{3,4,5}不存在可枚举的c?当然我试过了,这个没用.有没有像Except一样高效的解决方案?或者甚至更好,更快?

c# linq arrays except

6
推荐指数
2
解决办法
1413
查看次数

GroupBy Int Array的多维

我有这个多维数组:

int[][] x;
Run Code Online (Sandbox Code Playgroud)

所以,对于我所拥有的每个职位:

x[0] = [10,10,10,10,10]
x[1] = [10,10,10,10,10]
x[2] = [10,10,10,10,10]
x[3] = [5,5,5]
x[4] = [5,5,5]
x[5] = [10,5,5,5]
x[6] = [10,5,5,5]
x[7] = [5,5,5]
Run Code Online (Sandbox Code Playgroud)

我想要这样的团体:

z[0] = 3 x [10,10,10,10,10]
z[1] = 3 x [5,5,5]
z[2] = 2 x [10,5,5,5]
Run Code Online (Sandbox Code Playgroud)

或者如果可能的话:

y[0] = 3 | 5x10
y[1] = 3 | 3x5 
y[2] = 2 | 1x10, 3x5
Run Code Online (Sandbox Code Playgroud)

c# arrays

4
推荐指数
1
解决办法
721
查看次数

字典键不能作为Tuple <int [],int>的类型工作

我有一种情况,我需要一个这种类型的密钥字典,但它似乎没有找到等效的密钥.

Dictionary<Tuple<int[], int>, object> cache = new Dictionary<Tuple<int[], int>, object>();

cache.Add(Tuple.Create(new int[]{1}, 1), new object());

Assert.That(cache.ContainsKey(Tuple.Create(new int[] { 1 }, 1))); // This fails
Run Code Online (Sandbox Code Playgroud)

我已经通过使用a来测试它Tuple<int, int>,它似乎工作得很好,但在我的情况下,我真的需要某种Tuple<int[], int>类型的键,它不起作用.

还有其他替代方案吗?

c# dictionary

1
推荐指数
1
解决办法
273
查看次数

列表始终不包含数组

我试图检查数组列表是否包含反向顺序的数组,如果没有,添加它们:

var faclist = new List<int[]>();
var factors = new int[2] {i, j};
if (!faclist.Contains(factors.Reverse()))
{
     faclist.Add(factors);
}
Run Code Online (Sandbox Code Playgroud)

但是,即使存在具有相反因素的数组,此代码也始终不正确.

c# arrays list contain

1
推荐指数
1
解决办法
88
查看次数

标签 统计

c# ×5

arrays ×4

.net ×1

compare ×1

contain ×1

dictionary ×1

except ×1

linq ×1

list ×1