在数学上我们可以像给定金额/总金额* 100那样解决它以获得百分比差异。但我需要的是比较2个整数数组(在C#Win App中)并获得差异的百分比。 喜欢:
1 -----> -2
2 -----> 3
3 -----> 7
4 -----> 456
5 -----> 13
这两列是2个整数数组,我应该得到它们之间的区别 我怎么能得到这个?数学答案或算法,无论用什么来解决问题。
答案 0 :(得分:1)
试试这个
var i1 = Enumerable.Range(0, 10).ToArray();
var i2 = Enumerable.Range(20, 10).ToArray();
var result = i1.Select((n, i) => n * 100 / i2[i]);
答案 1 :(得分:0)
差异是什么意思?你可以通过以下方式获得差异:
int[] array = new int[arr1.Length];
for (i = 0; i < array.Length; i++)
{
array[i] = array1[i] - array2[i];
}
答案 2 :(得分:0)
如何使用LINQ
:
Int32[] array1 = new Int32[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
Int32[] array2 = new Int32[] { 9, 8, 7, 6, 5, 4, 3, 2, 1 };
Int32[] array3 = array1.Zip(array2, (a1, a2) => (a1 + a2) / 2).ToArray(); // Put whatever formula you want in there.
编辑:Daniel
和CD
是正确的。代码已更正。谢谢你们。
答案 3 :(得分:0)
感谢所有回复此问题的人! 这些天我想到了一个解决方案,但我不确定结果。我对我的工作有疑问,因为我正在调试它,但每次使用另外2个包含超过48.000个元素的数组。 到目前为止我的解决方案就像:
for(int i=0;i<arr1.length;i++)
{
if(arr1[i] == arr2[i])
count++;
}
double percentage = (float)count / (float)arr1.length * 100;