예제 #1
0
파일: itemsort.cs 프로젝트: enosan/itemsort
    // compare whether two ItemWrapper classes are same by comparing
    // their name and their array of unique dependencies
    public bool Equals(ItemWrapper item)
    {
        if (!item.GetName().Equals(this.name))
            return false;

        string[] otherDependencies = item.GetDependencies();
        if (otherDependencies == null && dependencies == null)
            return true;
        else if (dependencies == null || otherDependencies == null)
            return false;

        otherDependencies = otherDependencies.Distinct().ToArray();
        dependencies = dependencies.Distinct().ToArray();
        Array.Sort(otherDependencies);
        Array.Sort(dependencies);

        for (int i = 0; i < dependencies.Length; i++)
        {
            if (!dependencies[i].Equals(otherDependencies[i]))
                return false;
        }

        return true;
    }