C# list链表各个元素怎么设置索引器
C# list链表各个元素如何设置索引器?现在有一个listobjectmyList1,它有5000个数据,想通过索引器设置其中
C# list链表各个元素如何设置索引器? 现在有一个list<object>myList1,它有5000个数据,想通过索引器设置其中每个元素 如何设置? 另外有一个list<object>myList2,它是由list1 copy来的,想通过索引器设置get来判断mylist1中的每个元素是否发生变换, 如果发生变化,如用户更改mylist1中任何一个元素值后,能通过get属性提示或者得到某个元素值发生变化。请问这个索引器如何设置??谢谢![解决办法] 你说的那个数据结构叫做数组,List是一个链表。 请选择合适的数据结构来做操作。[解决办法]
探讨 链表就不行吗? 为链表的每一个元素设置set和get怎么设置?[解决办法] 通过索引器设置,直接 myList1[0]
后面那个问题,可能需要你自己封装一个类,里面包含一个list,然后设置索引器属性,访问的都是内部list的item,set方法时提示
[解决办法] 通过索引器设置,直接 myList1[0]
后面那个问题,可能需要你自己封装一个类,里面包含一个list,然后设置索引器属性,访问的都是内部list的item,set方法时提示
[解决办法] 首先List<T>就可以用索引访问
其次 这个泛型类 可以设置是否修改的属性来判断
[解决办法] 有一个扩展方法ElementAt可以满足你的需求,注意它在System.linq命名空间里
[解决办法] 有人喜欢原封不动的复制他人回复,例如7楼,BS这样的人。
楼主你的问题真的是没有表述清楚,我只看到你的myList1在使用,myList2复制出来后,未曾用到,那你提到它干嘛的?而你又提到Get操作,这个本身就很奇怪,显然应该是Set操作才对,Set时进行对比,发生变化记录。最后要说的是,不是自己定义的类型,如何定义Get、Set操作?显然应该自定义一个继承IList<T>接口的类来实现自定义的Get、Set操作才行。
[解决办法] 元素变化,和索引器无关,你应该定义事件
索引器顾名思义是用来检索数据的。
你的表述有点逻辑不清,很多基础概念都有混淆。反正我不是很理解
[解决办法] 你在给集合赋值的时候 在多加一列不就行啦!
[解决办法] 那我给一个最简单的,直接继承List<T>,可以少写很多代码。
C# code public class MyList<T> : List<T> where T : struct { public new T this[int index] { get { return base[index]; } set { //这里限定了T为结构体,所以不会出现为空的情况,可以免除为空判断 if (!base[index].Equals(value)) { MessageBox.Show("数值不相等,已发生变化"); base[index] = value; } } } }[解决办法] public T this[int index] 貌似LZ只是对这个语法不清楚