这个功能有什么作用?

时间:2014-01-13 11:49:45

标签: c#

看起来这个函数返回第一个数组,但你不知道这是否是概念

public int w(int[] arr)
{
    int c = 1;

    for (int i = 1; i < arr.Length; i++)
    {
        bool u = true;

        for (int j = 0; (j < i) && u; j++)
        {
            if (arr[i] == arr[j])
                u = false;
        }

        if (u)
        {
            c++;
        }                
    }

    return c;
}

2 个答案:

答案 0 :(得分:1)

此函数计算数组中所有不同的元素。

外部循环遍历所有数组元素。内循环遍历数组,直到外循环的元素。如果没有与当前元素类似的前一元素,则计数会递增。

例如,给定数组

[1, 2, 3, 4, 3, 1, 5]

c的值为

1, 2, 3, 4, 4, 4, 5

所以结果是5,这是数组中不同元素的数量。

答案 1 :(得分:0)

正如 Heuster 所解释的,此函数返回数组中不同数量的元素。此函数提供与以下LinQ表达式相同的结果:

var myIntegers = new int[] { 1, 2, 3, 4, 3, 1, 5 };
var distinctCount = myIntegers.Distinct().Count();
//distinctCount is '5'

更多阅读: