更改嵌套的元组列表

时间:2013-04-07 13:59:28

标签: c# linq

我的变量声明如下

List<Tuple<TypeX, List<Tuple<TypeY, int, bool>>, int, int, int>> lst;

我想使用linq查询来改变内部布尔变量。 这样做的最佳方式是什么?

1 个答案:

答案 0 :(得分:2)

如果你正在使用linq,你需要创建一个包含转换结构的新列表:

lst = lst.Select(t => Tuple.Create(
    t.Item1,
    t.Item2.Select(it => Tuple.Create(it.Item1, it.Item2, Transform(it.Item3))).ToList(),
    t.Item3,
    t.Item4,
    t.Item5
)).ToList();

其中Transform是转换内部布尔值的操作。

我会考虑为此创建一个自定义类而不是使用元组,因为大元组可能难以使用。