Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用运算符重载实现数组的并集?_C#_Arrays - Fatal编程技术网

C# 如何使用运算符重载实现数组的并集?

C# 如何使用运算符重载实现数组的并集?,c#,arrays,C#,Arrays,我用一个类来设置一个类,这个类将在类的构造函数中保留一个数组,我们初始化这个数组并创建该数组的两个对象,诸如此类 我需要at+运算符,两个数组的并集应该是 指导我。在操作员参数a和b处,它也给出了错误 public class seta { public seta(int size) { this.size = Size; int[] array = new int[size] } private int size; public int Size { get

我用一个类来设置一个类,这个类将在类的构造函数中保留一个数组,我们初始化这个数组并创建该数组的两个对象,诸如此类

我需要at+运算符,两个数组的并集应该是 指导我。在操作员参数a和b处,它也给出了错误

public class seta
{
public seta(int size)

{
    this.size = Size;
    int[] array = new int[size]



}

private int size;

public int Size
{
    get { return size; }
    set { size = value; }
}


 Console.WriteLine ("enter  size of an array   aray");`
`
            int a = Convert.ToInt32(Console.ReadLine());

            seta obja = new seta(a);

            Console.WriteLine("enter  size of an array   aray");
            int b = Convert.ToInt32(Console.ReadLine());

            seta objb = new seta(b);
        }

            public static double operator + (  a , b )
        {
        }

此代码将创建存储在
类SetA{}
中的两个随机数组,然后找到与
运算符+
的并集。在引擎盖下,它只调用
Enumerable.Union()

公共类SetA
{
静态随机rng=新随机();
int[]数据;
公共SetA(int[]数据)
{
这个。数据=数据;
}
公共SetA(整数大小)
{
this.data=newint[size];

对于(int i=0;i请告诉我们您得到了什么错误,以及为什么您要自己实现它而不是使用。我想通过运算符重载来实现。我想在这里重载运算符+,但在公共静态双运算符+(a,b)中得到错误参数此处数组的元素是什么?
int
string
double
?请包括
seta
class.public class seta{public seta(int size){this.size=size;}private int size;public int size的基本框架{get{return size;}set{size=value;}}}这是我在注释中没有创建的类。编辑问题并将其添加到那里。同样,数组包含什么类型?是什么数组?我在
seta
中没有看到任何数组或集合定义。
public class SetA
{
    static Random rng = new Random();
    int[] data;
    public SetA(int[] data)
    {
        this.data=data;
    }
    public SetA(int size)
    {
        this.data=new int[size];
        for (int i = 0; i<data.Length; i++)
        {
            data[i]=rng.Next(0, 100);
        }
    }
    public int Size { get { return data.Length; } }
    public int[] Data { get { return data; } }
    public static SetA operator +(SetA a, SetA b)
    {
        return new SetA(a.data.Union(b.data).ToArray());
    }
}
class Program
{
    static void Main(string[] args)
    {
        SetA a = new SetA(100);
        SetA b = new SetA(50);

        SetA c = a+b;
        int n = c.Size;
    }
}