c#将数组指定索引的数据删除
时间: 2023-12-08 21:03:18 浏览: 103
数组数据删除
可以使用以下代码将数组指定索引的数据删除:
```csharp
// 假设 arr 是一个一维数组,要删除的索引是 index
int[] newArr = new int[arr.Length - 1];
for (int i = 0, j = 0; i < arr.Length; i++)
{
if (i != index)
{
newArr[j++] = arr[i];
}
}
// 现在 newArr 就是原数组删除指定索引后的结果,长度为原数组长度减1
```
如果 arr 是一个二维数组,要删除第 rowIndex 行和第 colIndex 列的数据,可以使用以下代码:
```csharp
// 假设 arr 是一个二维数组,要删除的行和列的索引分别是 rowIndex 和 colIndex
int numRows = arr.GetLength(0);
int numCols = arr.GetLength(1);
// 创建一个新数组,将原数组中不是 rowIndex 行和 colIndex 列的数据复制到新数组中
int[,] newArr = new int[numRows - 1, numCols - 1];
for (int i = 0, x = 0; i < numRows; i++)
{
if (i != rowIndex)
{
for (int j = 0, y = 0; j < numCols; j++)
{
if (j != colIndex)
{
newArr[x, y++] = arr[i, j];
}
}
x++;
}
}
// 现在 newArr 就是原数组删除指定行和列后的结果,行数和列数都比原数组少1
```
需要注意的是,这种方式会创建一个新的数组来存储删除后的结果,原数组并不会被修改。如果需要在原数组上直接删除指定索引的数据,可以使用 `List<T>` 类型代替数组。
阅读全文