【问题标题】:Modify an entry in a nested IEnumerable<IEnumerable<int>>?修改嵌套 IEnumerable<IEnumerable<int>> 中的条目?
【发布时间】:2020-09-12 12:15:24
【问题描述】:

我目前正在尝试修改存储在嵌套IEnumerable 中的条目, 我目前正在尝试编写一个单元测试,我需要在其中测试

var original = new IEnumerable<IEnumerable<int>>();
//fill test with all kind of values
var test = original.clone()
test.First().First() = 3;

但我似乎无法更改/设置嵌套 IEnumerable 的值?

【问题讨论】:

    标签: c# asp.net-core get set ienumerable


    【解决方案1】:

    正如this post 中所述,“Linq 用于查询,而不是更新”。在您的代码中,您正在查询第一个可枚举的第一个元素,但是当您为其分配一个不会被写回可枚举的值时。

    使用诸如IList&lt;T&gt; 之类的可写接口应该可以解决问题:

    var original = new List<IList<int>>();
    //fill test with all kind of values
    var test = original.clone()
    test[0][0] = 3;
    

    【讨论】:

    • IList 接口无法实例化。用 List 替换它: var original = new List>();
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-25
    • 2021-04-25
    • 1970-01-01
    • 2021-04-21
    • 1970-01-01
    • 2017-01-19
    • 1970-01-01
    相关资源
    最近更新 更多