c#的链表中的数据如何更改其值?由于链表传引用,感觉很难从中读出数据改变。因为原数据会一起变。

ClassA{stringname;intnumber;publicA(){}}List<A>lista=newlist<A>();为链表增加元素,每个元素的name,n... Class A{
string name;
int number;

public A(){}}

List <A> lista=new list<A>();
为链表增加元素,每个元素的name,number被初始化并赋值。

TempA=new A();

A=lista[3];A.name="nameA";

//读出3号元素,并更改其name值为nameA
同时其他值不变,如number
lista.insert(A,3);
lista.remove(4);//移除4号元素,此时刚插入的3号元素同时会并清空
如何解决?
展开
 我来答
百度网友7695b6b
2013-09-14 · TA获得超过165个赞
知道小有建树答主
回答量:126
采纳率:0%
帮助的人:123万
展开全部
那个链表是只读的,要修改的话可以直接先Remove掉要修改的那项,然后再Add改后的数据,这样操作也不算麻烦吧,就是查找→删除→重新插入的操作。
更多追问追答
追问
关键是我想先读出要删除的数据,将其修改后在存入链表,请支招!!
追答
你是没法读呢还是没法删呢还是没法插入呢
很清除的流程啊
比如
List _list=new List();
//假设_list里面已经有值
//索引到你要修改的值
int index=0;//你要修改的链表元素
T temp=_list[index];//临时变量存储原数据
//对temp进行修改
_list.Remove(_list[index]);//删除原来数据
//或者
_list.RemoveAt(index);
_list.Add(temp);//插入修改后的数据。

找不到索引编号index就用循环判断
for(int i=0;i<_list.Count;i++)
//if(是你要修改的那项)

index=i;
或者
foreach(T t in _list)
//if(是你要修改的那个)

temp=t;

这样还不明白吗
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式