gpt4 book ai didi

c# - 从源数组中选择给定范围的索引

转载 作者:太空宇宙 更新时间:2023-11-03 18:04:13 32 4
gpt4 key购买 nike

我想用数组的索引创建一个数组。假设我有一个这样的数组:

| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |

我从查询中得到的结果如下:

enter image description here

这意味着 13、4(LengthUnit = 2)和 7 很忙(已经采取)。所以,数组现在看起来像:

| T | 2 | T | T | 5 | 6 | T | 8 | 9 | 10 |

其中,T 代表taken。

如何使用查询结果创建两个整数数组,如下所示:

int[] taken = { 1, 3, 4, 7 };
int[] notTaken = { 2, 5, 6, 8, 9, 10 };

最佳答案

Enumerable.Range 在这种情况下很有用的证明:

Dictionary<int, int> startAndLength = new Dictionary<int, int>()
{ { 1, 1 }, { 3, 2 }, { 7, 1 } };

int[] taken = startAndLength
.SelectMany(kvp => Enumerable.Range(kvp.Key, kvp.Value)).ToArray();

int[] notTaken = Enumerable.Range(0, 10).Except(taken).ToArray();

开始创建一组开始和长度,然后使用 Enumerable.Range 确定所取的项目。然后再次使用 Enumerable.Range 确定的项目。

关于c# - 从源数组中选择给定范围的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39075286/

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