C#对自定义类进行运算符重载以及使用copyto对数组进行合并

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using Newtonsoft.Json;

using System.Net;

using System.IO;

using System.Web;

namespace test重载加运算符

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }



        private void button1_Click(object sender, EventArgs e)

        {

            string jsonString1 = "{\"status\":{\"code\":\"0\",\"msg\":\"正确\"},\"data\":{\"picture_num\":6,\"picture_list\":[{\"picture_name\":\"img1\",\"picture_scope\":1,\"picture_sign\":\"da16641a9dd3d0ed099ac04c6823826c7bde5d61\",\"is_cover\":0,\"width\":1920,\"height\":1200,\"img_src\":\"http://g.hiphotos.bdimg.com/album/h%3D370%3Bq%3D90/sign=2b0b1aab2a34349b6b066882f9d164f3/b7fd5266d0160924a53e59aad60735fae6cd3463.jpg\",\"m_width\":592,\"m_height\":370,\"pic_big_src\":\"http://g.hiphotos.bdimg.com/album/w%3D1458%3Bq%3D90/sign=5d653573b0119313c743fbb4500037a6/b7fd5266d0160924a53e59aad60735fae6cd3463.jpg\"},{\"picture_name\":\"img2\",\"picture_scope\":1,\"picture_sign\":\"7361946e8bcf21193817d71425f2bf78fb25b360\",\"is_cover\":0,\"width\":1920,\"height\":1200,\"img_src\":\"http://e.hiphotos.bdimg.com/album/h%3D370%3Bq%3D90/sign=431161427b310a55db24d8f3877e3294/37d12f2eb9389b50fbe51be38735e5dde7116e6d.jpg\",\"m_width\":592,\"m_height\":370,\"pic_big_src\":\"http://e.hiphotos.bdimg.com/album/w%3D1458%3Bq%3D90/sign=8d357d9ab251f819f125074eef8c719c/37d12f2eb9389b50fbe51be38735e5dde7116e6d.jpg\"},{\"picture_name\":\"img3\",\"picture_scope\":1,\"picture_sign\":\"c43df3a2be33ec2b9d0c358f9cee061f50d68460\",\"is_cover\":0,\"width\":1920,\"height\":1200,\"img_src\":\"http://f.hiphotos.bdimg.com/album/h%3D370%3Bq%3D90/sign=f4f8676d881363270aedc434a1b4d1d1/a9d3fd1f4134970ad569eb9e97cad1c8a7865d6d.jpg\",\"m_width\":592,\"m_height\":370,\"pic_big_src\":\"http://f.hiphotos.bdimg.com/album/w%3D1458%3Bq%3D90/sign=aa6dee25442309f7e76fa91647363782/a9d3fd1f4134970ad569eb9e97cad1c8a7865d6d.jpg\"},{\"picture_name\":\"img4\",\"picture_scope\":1,\"picture_sign\":\"d6cae9083ba9d7f35dc1ce5721f30cf184600c40\",\"is_cover\":0,\"width\":1920,\"height\":1200,\"img_src\":\"http://f.hiphotos.bdimg.com/album/h%3D370%3Bq%3D90/sign=1413c7a2df54564efa65e23e83e5edbf/8b13632762d0f703ccc86e6d0afa513d2697c50d.jpg\",\"m_width\":592,\"m_height\":370,\"pic_big_src\":\"http://f.hiphotos.bdimg.com/album/w%3D1458%3Bq%3D90/sign=fb596652ff1f4134e037017a1027aebb/8b13632762d0f703ccc86e6d0afa513d2697c50d.jpg\"},{\"picture_name\":\"img5\",\"picture_scope\":1,\"picture_sign\":\"697d423ae23f0d523d532ef5fc040c812240c741\",\"is_cover\":0,\"width\":1920,\"height\":1200,\"img_src\":\"http://a.hiphotos.bdimg.com/album/h%3D370%3Bq%3D90/sign=790563cad31373f0ea3f699894343ac6/4a36acaf2edda3ccd49f439103e93901213f920c.jpg\",\"m_width\":592,\"m_height\":370,\"pic_big_src\":\"http://a.hiphotos.bdimg.com/album/w%3D1458%3Bq%3D90/sign=438279c441a98226b8c12f23bfba8270/4a36acaf2edda3ccd49f439103e93901213f920c.jpg\"},{\"picture_name\":\"img6\",\"picture_scope\":1,\"picture_sign\":\"6a97ad9e4e18f7176150617cb71120d33ce4df60\",\"is_cover\":0,\"width\":1920,\"height\":1200,\"img_src\":\"http://a.hiphotos.bdimg.com/album/h%3D370%3Bq%3D90/sign=423cc07519d5ad6eb5f962edb1f048e6/3b87e950352ac65c801f9dc2f9f2b21193138a6d.jpg\",\"m_width\":592,\"m_height\":370,\"pic_big_src\":\"http://a.hiphotos.bdimg.com/album/w%3D1458%3Bq%3D90/sign=ebae50d00db30f24359ae807fdadea32/3b87e950352ac65c801f9dc2f9f2b21193138a6d.jpg\"}]}}";

            //使用json对对象进行赋值

            ImageList _list1 = JsonConvert.DeserializeObject<ImageList>(jsonString1);

            string jsonString2 = "{\"status\":{\"code\":\"0\",\"msg\":\"正确\"},\"data\":{\"picture_num\":5,\"picture_list\":[{\"picture_name\":\"img7\",\"picture_scope\":1,\"picture_sign\":\"da16641a9dd3d0ed099ac04c6823826c7bde5d61\",\"is_cover\":0,\"width\":1920,\"height\":1200,\"img_src\":\"http://g.hiphotos.bdimg.com/album/h%3D370%3Bq%3D90/sign=2b0b1aab2a34349b6b066882f9d164f3/b7fd5266d0160924a53e59aad60735fae6cd3463.jpg\",\"m_width\":592,\"m_height\":370,\"pic_big_src\":\"http://g.hiphotos.bdimg.com/album/w%3D1458%3Bq%3D90/sign=5d653573b0119313c743fbb4500037a6/b7fd5266d0160924a53e59aad60735fae6cd3463.jpg\"},{\"picture_name\":\"img8\",\"picture_scope\":1,\"picture_sign\":\"7361946e8bcf21193817d71425f2bf78fb25b360\",\"is_cover\":0,\"width\":1920,\"height\":1200,\"img_src\":\"http://e.hiphotos.bdimg.com/album/h%3D370%3Bq%3D90/sign=431161427b310a55db24d8f3877e3294/37d12f2eb9389b50fbe51be38735e5dde7116e6d.jpg\",\"m_width\":592,\"m_height\":370,\"pic_big_src\":\"http://e.hiphotos.bdimg.com/album/w%3D1458%3Bq%3D90/sign=8d357d9ab251f819f125074eef8c719c/37d12f2eb9389b50fbe51be38735e5dde7116e6d.jpg\"},{\"picture_name\":\"img9\",\"picture_scope\":1,\"picture_sign\":\"c43df3a2be33ec2b9d0c358f9cee061f50d68460\",\"is_cover\":0,\"width\":1920,\"height\":1200,\"img_src\":\"http://f.hiphotos.bdimg.com/album/h%3D370%3Bq%3D90/sign=f4f8676d881363270aedc434a1b4d1d1/a9d3fd1f4134970ad569eb9e97cad1c8a7865d6d.jpg\",\"m_width\":592,\"m_height\":370,\"pic_big_src\":\"http://f.hiphotos.bdimg.com/album/w%3D1458%3Bq%3D90/sign=aa6dee25442309f7e76fa91647363782/a9d3fd1f4134970ad569eb9e97cad1c8a7865d6d.jpg\"},{\"picture_name\":\"img10\",\"picture_scope\":1,\"picture_sign\":\"d6cae9083ba9d7f35dc1ce5721f30cf184600c40\",\"is_cover\":0,\"width\":1920,\"height\":1200,\"img_src\":\"http://f.hiphotos.bdimg.com/album/h%3D370%3Bq%3D90/sign=1413c7a2df54564efa65e23e83e5edbf/8b13632762d0f703ccc86e6d0afa513d2697c50d.jpg\",\"m_width\":592,\"m_height\":370,\"pic_big_src\":\"http://f.hiphotos.bdimg.com/album/w%3D1458%3Bq%3D90/sign=fb596652ff1f4134e037017a1027aebb/8b13632762d0f703ccc86e6d0afa513d2697c50d.jpg\"},{\"picture_name\":\"img11\",\"picture_scope\":1,\"picture_sign\":\"697d423ae23f0d523d532ef5fc040c812240c741\",\"is_cover\":0,\"width\":1920,\"height\":1200,\"img_src\":\"http://a.hiphotos.bdimg.com/album/h%3D370%3Bq%3D90/sign=790563cad31373f0ea3f699894343ac6/4a36acaf2edda3ccd49f439103e93901213f920c.jpg\",\"m_width\":592,\"m_height\":370,\"pic_big_src\":\"http://a.hiphotos.bdimg.com/album/w%3D1458%3Bq%3D90/sign=438279c441a98226b8c12f23bfba8270/4a36acaf2edda3ccd49f439103e93901213f920c.jpg\"}]}}";

            //使用json对对象进行赋值

            ImageList _list2 = JsonConvert.DeserializeObject<ImageList>(jsonString2);

            //示例

            ImageList _list3 = _list1 + _list2;

        }

    }



    //相片列表类

    public class ImageList

    {

        //重载+运算符

        public static ImageList operator +(ImageList ImageList1, ImageList ImageList2)

        {

            //计算新ImageList的长度

            int newListLength = ImageList1.data.picture_list.Count() + ImageList2.data.picture_list.Count();

            //实例化临时的ImageList

            ImageList temp = new ImageList(newListLength);

            //如果构造函数已经有默认值则不需赋值了

            //temp.status = ImageList1.status;

            //将第一个参数复制进新的ImageList对象

            ImageList1.data.picture_list.CopyTo(temp.data.picture_list, 0);

            //将第二个参数复制进新的ImageList对象,数组的起始位置为第一数组参数的长度

            ImageList2.data.picture_list.CopyTo(temp.data.picture_list, ImageList1.data.picture_list.Count());

            //赋值

            temp.data.picture_num = newListLength.ToString();

            return temp;

        }

        public ImageList(int lengthOfpicture_list)

        {

            this.status = new Status();

            this.data = new Data(lengthOfpicture_list);

        }



        public Status status { get; set; }

        public Data data { get; set; }



        public class Status

        {

            public Status() 

            {

                this.code = "0";

                this.msg = "正确";

            }

            public string code { get; set; }

            public string msg { get; set; }

        }

        public class Data

        {

            public Data(int lengthOfpicture_list) 

            {

                this.picture_num = "";

                this.picture_list = new Picture_list[lengthOfpicture_list];

            }

            public string picture_num { get; set; }

            public Picture_list[] picture_list { get; set; }

        }



        public class Picture_list

        {

            public Picture_list() { }

            public string picture_name { get; set; }

            public string picture_scope { get; set; }

            public string picture_sign { get; set; }

            public string is_cover { get; set; }

            public string width { get; set; }

            public string height { get; set; }

            public string img_src { get; set; }

            public string m_width { get; set; }

            public string m_height { get; set; }

            public string pic_big_src { get; set; }

        }

    }

}

 

你可能感兴趣的:(copy)