简体   繁体   English

如何在C#中的程序员定义的部分Array类中使用Array.Sort方法?

[英]How to use Array.Sort method in a Programmer defined partial Array class in c#?

Hey everyone I was trying to extended an Array with a user defined method ( MajorityElementOf ) in context of my Program. 大家好,我正在尝试在程序上下文中使用用户定义的方法( MajorityElementOf )扩展Array so I use the following code : 所以我用下面的代码:

partial class Array{
    public static object MajorityElementOf(int[] arr)
    {
        Array.Sort(arr);
        //rest of the code
    }
}

Compiling this is giving an error: 编译此错误:

'Array' does not contain a definition for 'Sort'; “数组”不包含“排序”的定义;

It may be due to the Sort method is not defined in this part of Array . 可能是由于Array这一部分未定义Sort方法。 Can anyone tell me how to use Array.Sort(arr) method in this code ? 谁能告诉我如何在此代码中使用Array.Sort(arr)方法?

Use 采用

System.Array.Sort(arr);

The problem is that the user defined Array class hides the one in the System namespace. 问题在于用户定义的Array类在System名称空间中隐藏了该类。

Your problem is your Array class takes precedence in effect hiding the other class. 您的问题是Array类优先于隐藏其他类。 You can use the full namespace to get around this, for example: 您可以使用完整的名称空间来解决此问题,例如:

System.Array.Sort(arr);

Problem is you have used same name for class ( Array ), which takes precedence over System.Array as local context/scope get precedence. 问题是您为类( Array )使用了相同的名称,因为本地上下文/作用域获得了优先级,所以它优先于System.Array Try qualifying with namespace. 尝试使用名称空间进行限定。

System.Array.Sort(arr);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM