c# - 连接分层对象的列表

标签 c# recursion

我有一个List<T>其中 T 具有属性 .Next。

该列表包含以下数据:

One
Two
Three
Four
Five

我想做这个:

One.Next = Two;
Two.Next = Three;
Three.Next = Four;
Four.Next = Five;

Five.Next 的最后一个元素为 null

一个应该分配给同一类型的单个变量。

如何在没有大量 ifs/while/hacks 的情况下做到这一点?

更新

结果变量不应是匿名类型。

我需要一个与 IEnumerable> 或 List> 相同类型的返回变量

我还忘记提及,我使用开放泛型类型而不是封闭类型。

很抱歉给您带来错误信息!

最佳答案

for(int i = 0;i < list.Count;++i)
    list[i].Next = i < list.Count - 1 ? list[i + 1] : null;

关于c# - 连接分层对象的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12373115/

相关文章:

c# - 如何在重启后保留 Quartz 中的预定作业?

c# - 如何使用 SmartFormat.NET 使用集合中项目的属性

计算字符串中元音的个数

python - 在 python 中循环遍历树层次结构?

c# - .Net ORM/业务对象框架性能

c# - C# 中的 private const 和 private readonly 变量之间有区别吗?

java - QuickSort (Java) 实现要么溢出,要么停止

java - 为什么方法会更改 boolean 数组参数?

java - 多次返回的递归混淆

c# - 是否可以在函数结束或超出范围后重置静态字段?