c#如何编程保留数组中的非零元素
时间: 2024-02-07 11:02:56 浏览: 30
可以使用以下代码来保留数组中的非零元素:
```c#
int[] arr = { 0, 1, 0, 2, 3, 0, 4, 5 };
int nonZeroCount = arr.Count(x => x != 0); // 计算非零元素的数量
int[] nonZeroArr = new int[nonZeroCount]; // 创建一个新的数组,大小为非零元素的数量
int j = 0;
for (int i = 0; i < arr.Length; i++)
{
if (arr[i] != 0)
{
nonZeroArr[j] = arr[i]; // 将非零元素添加到新的数组中
j++;
}
}
// 输出结果
Console.WriteLine("原始数组:");
Console.WriteLine(string.Join(", ", arr));
Console.WriteLine("非零元素数组:");
Console.WriteLine(string.Join(", ", nonZeroArr));
```
输出结果:
```
原始数组:
0, 1, 0, 2, 3, 0, 4, 5
非零元素数组:
1, 2, 3, 4, 5
```
相关问题
c# byte数组在前面添加元素
在 C# 中,byte数组在前面添加元素需要进行以下几个步骤:
1. 创建一个新的 byte 数组,它的长度比原数组多 1。
2. 将要添加的元素插入到新数组的第一个位置。
3. 将原数组的所有元素复制到新数组中。
例如,以下是一个在 byte 数组前添加元素的示例代码:
```csharp
byte[] originalArray = new byte[3] { 1, 2, 3 };
byte[] newArray = new byte[originalArray.Length + 1];
newArray[0] = 4; // 在第一个位置插入元素
Array.Copy(originalArray, 0, newArray, 1, originalArray.Length);
```
在这个示例中,我们首先创建一个原始的 byte 数组,它包含三个元素。然后,我们创建一个新数组,它比原数组多一个元素,用于存储添加的元素。接下来,我们将要添加的元素插入到新数组的第一个位置。最后,我们将原数组的所有元素复制到新数组中,保留原数组中的元素顺序。
在c#中如何将一个数组中的所有元素保留两位小数并输出到另一个数组中
你可以使用以下代码来将一个数组中的所有元素保留两位小数并输出到另一个数组中:
```csharp
double[] originalArray = { 1.234567, 2.345678, 3.456789 };
double[] newArray = new double[originalArray.Length];
for (int i = 0; i < originalArray.Length; i++)
{
newArray[i] = Math.Round(originalArray[i], 2);
}
// 输出新数组中的元素
foreach (double element in newArray)
{
Console.WriteLine(element);
}
```
在上面的代码中,我们首先定义了一个名为 `originalArray` 的原始数组,该数组包含了一些需要保留两位小数的元素。然后我们创建了一个名为 `newArray` 的新数组,并指定其长度与原始数组相同。
接着,我们使用 `for` 循环遍历原始数组中的所有元素,并使用 `Math.Round` 方法将其保留两位小数,并将结果存储到新数组中的对应位置。
最后,我们使用 `foreach` 循环遍历新数组中的所有元素,并将它们输出到控制台上。