C# 如何从一个长度为1024的数组中每隔3个数去除第四个数并组成新数组
时间: 2024-02-03 22:15:26 浏览: 26
可以使用循环和条件语句来实现。具体步骤如下:
1. 定义原数组和新数组:
```csharp
int[] originalArray = new int[1024];
int[] newArray = new int[768]; // 1024 / 4 * 3 = 768
```
2. 循环遍历原数组,每隔3个数去除第四个数并添加到新数组中:
```csharp
for (int i = 0, j = 0; i < originalArray.Length; i++)
{
if ((i + 1) % 4 != 0) // 如果不是第4个数
{
newArray[j++] = originalArray[i]; // 添加到新数组中
}
}
```
3. 循环结束后,新数组中就存储了每隔3个数去除第四个数后剩余的数。
完整代码示例:
```csharp
int[] originalArray = new int[1024];
int[] newArray = new int[768]; // 1024 / 4 * 3 = 768
for (int i = 0, j = 0; i < originalArray.Length; i++)
{
if ((i + 1) % 4 != 0) // 如果不是第4个数
{
newArray[j++] = originalArray[i]; // 添加到新数组中
}
}
```
相关问题
C#数组每间隔3个取一个数组成数组
C是一种高级编程语言,广泛用于操作系统、游戏、数据库、网络和嵌入式系统等。它由美国贝尔实验室的Dennis Ritchie于20世纪70年代所创造。C具有高效、灵活、可移植性好等特点,是许多其他编程语言的基础。C也是学习计算机科学和软件开发的重要语言之一。
c# 一个长数组,如何每隔3个数删除一个
可以使用 `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` 来判断是否需要退出循环。