You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中Node类型List的索引操作:如何实现类似Java get(index)的功能?

问题原因

你触发错误是因为用错了方法:IndexOf(1)的作用是查找某个元素在列表里的索引位置,但你的array1存的是DNode类型对象,你传了个int类型的1,类型不匹配自然报错。

C#中对应Java get(index)的实现

要获取List<T>指定索引的元素,C#里有两种直接的方式:

  • 索引器语法:用列表名[索引值],这是最常用的写法,和Java的get(index)功能完全一致。
  • ElementAt方法:调用列表名.ElementAt(索引值),不过这个方法需要你引用System.Linq命名空间。
修正后的代码

另外注意你原代码的循环会漏掉最后一个节点(因为只有temp.next != null时才添加节点),这里一起修正:

List<DNode> array1 = new List<DNode>();

DNode temp = doubleLinkedList.head;
// 遍历所有节点,包括最后一个
while(temp != null)
{
    array1.Add(temp);
    temp = temp.next;
}
// 获取指定索引的元素,比如索引1
return array1[1];
// 或者用ElementAt(需要顶部加using System.Linq;)
// return array1.ElementAt(1);

内容的提问来源于stack exchange,提问作者G.Baysec

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 04:35:32