c# 一个长数组,如何每隔3个数删除一个
时间: 2024-02-03 16:15:09 浏览: 22
可以使用 `for` 循环遍历数组,每隔3个数删除一个。具体实现可以参考以下代码:
```csharp
int[] arr = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 };
int index = 2; // 记录需要删除的元素下标
for (int i = 0; i < arr.Length; i++)
{
if (i == index)
{
// 删除元素
arr = arr.Where((val, idx) => idx != index).ToArray();
index += 2; // 更新需要删除的元素下标
}
if (index >= arr.Length)
{
break; // 如果需要删除的元素下标已经超出了数组长度,则退出循环
}
}
// 输出结果
foreach (int num in arr)
{
Console.Write(num + " ");
}
```
这段代码中,我们先定义一个整型数组 `arr`,然后定义一个变量 `index` 初始化为 2,用来记录需要删除的元素下标。接着使用 `for` 循环遍历数组,如果当前下标等于 `index`,则使用 LINQ 的 `Where` 方法删除该元素,并更新 `index` 的值,使其指向下一个需要删除的元素。最后,再使用 `foreach` 循环输出结果。
需要注意的是,在删除元素之后,数组的长度会发生变化,因此需要使用 `arr.Length` 来判断是否需要退出循环。