首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C# list链表各个元素怎么设置索引器

2012-04-25 
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只是对这个语法不清楚

热点排行