C# Array类型过滤小于等于0
时间: 2023-09-24 16:11:47 浏览: 115
可以使用 LINQ 的 Where 方法来过滤 Array 类型中小于等于 0 的元素。代码示例如下:
```csharp
int[] array = new int[] { 1, -2, 3, 0, -4, 5 };
int[] filteredArray = array.Where(x => x > 0).ToArray();
```
在上述代码中,使用 Where 方法对数组进行筛选,只保留大于 0 的元素,然后使用 ToArray 方法将结果转换为数组类型。筛选结果为 {1, 3, 5}。
相关问题
C#获取数组30到50位之间的最大值
在C#中,你可以通过以下步骤获取数组里30到50索引范围内的最大值:
1. 首先,假设你有一个整型数组`int[] array`。
2. 确保数组的长度大于等于30并且小于等于51,因为索引是从0开始的。
3. 使用LINQ查询来找到这个范围内的最大值。可以使用`Array.AsEnumerable()`将数组转换为`IEnumerable<int>`,然后利用`Where()`过滤出指定范围的元素,最后用`Max()`找出最大值。示例代码如下:
```csharp
int startIndex = 29; // 从0开始,30作为索引对应的位置
int endIndex = 49;
if (startIndex >= 0 && startIndex < array.Length && endIndex + 1 <= array.Length)
{
int maxInRange = array.Skip(startIndex).Take(endIndex - startIndex + 1)
.Max();
Console.WriteLine($"30到50位置的最大值是:{maxInRange}");
}
else
{
Console.WriteLine("数组的范围超出限制");
}
```
阅读全文