C#中使用List的問題

來源:互聯網
上載者:User

問題描述:

一個存放struct的list,如果將其中struct資料再次添加到另外一個list中時,

更改第二個list中struct中的值,會不會影響第到第一個list呢。

 

現在用代碼來證明:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;namespace CSharp{    class Program    {        public int a = 1;        public int b = 2;        internal struct Info        {            public int c;            public int d;        }        public  static void Main(string[] args)        {                                   ListCopy2();                             }        public static void ListCopy2()        {            //第一個list,元素類型為struct,內部包含兩個整形值            List<Info> ls = new List<Info>();            Info info = new Info();            //初始化這兩個值            info.c = 2;            info.d = 3;            //將這個struct加入list中            ls.Add(info);            //第二個list,元素類型與第一個list中的元素類型一樣            List<Info> ls2 = new List<Info>();              //將第一個list中的第一個元素添加到第二個list中            ls2.Add(ls[0]);            //從第二個list中取出這個值,重新賦值            Info info2 = ls2[0];            //賦值為4            info2.c = 4;            ls2[0] = info2;            //列印查看效果            Console.WriteLine(ls[0].c);            Console.WriteLine(ls2[0].c);            Console.ReadKey();        }            }}



 

實驗結果:

 

結果證明:互不影響。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.