gpt4 book ai didi

c# - 用于将数组的所有值设置为给定值的 Linq 表达式

转载 作者:可可西里 更新时间:2023-11-01 08:40:08 26 4
gpt4 key购买 nike

我有一些代码想转换为 linq 表达式(最好使用 lambda),以便更容易用作委托(delegate)。代码如下所示:

List<DateTime[]> changes = new List<DateTime[]>();
changes = PopulateChanges();
for (int i = 0; i < changes.Count; i++)
{
for(int j = 0; j < changes[i].Length; j++)
{
changes[i][j] = DateTime.MinValue;
}
}

对于我的生活,我似乎无法弄清楚这一点。我试过使用 ForEach 和各种形式的选择等。似乎没有任何效果。

仅供引用,我知道 DateTime 默认为 MinValue,实际上这是在设置数组后将其清除为默认值。

谁能帮我写一个工作表达式?

编辑:

我想我在这里真正要说的是我想要一种简洁的方法来将多维数组的所有元素设置为给定值。当然,嵌套的 for 循环有效,我当然可以将它放在一个函数中(我已经这样做了)。我只想要更简洁的东西,可以在委托(delegate)中更轻松地使用,而无需创建多行怪物。

最佳答案

这应该可以解决问题。

它不是 LINQ,它与嵌套的 for 循环并没有太大区别,只是稍微不那么冗长。

changes.ForEach(x => Array.Clear(x, 0, x.Length));

当然有一些方法可以(ab)使用 LINQ 来达到相同的结果,但我认为它们是肮脏的 hack。此外,LINQ 等效项可能不会比我上面的示例更冗长。

关于c# - 用于将数组的所有值设置为给定值的 Linq 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1413223/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com