2.泛型约束计算数组中能被4整除的数的和 Windows,C#
时间: 2024-12-13 19:23:00 浏览: 8
在Windows环境下的C#编程中,你可以使用泛型和泛型约束(Generic Constraints)来编写一个计算数组中所有能被4整除的数之和的方法。下面是一个示例:
```csharp
using System;
public class NumberUtils
{
// 泛型方法,使用where约束仅接受能够被4整除的元素类型
public static int SumOfDivisibleByFour<T>(T[] array) where T : struct, IConvertible, IFormattable, IComparable<T>
{
int sum = 0;
foreach (T num in array)
{
int number;
if (int.TryParse(num.ToString(), out number) && number % 4 == 0)
{
sum += number;
}
}
return sum;
}
}
class Program
{
static void Main(string[] args)
{
int[] integerArray = { 4, 8, 9, 12, 20, 21, 24 };
double[] doubleArray = { 4.0, 8.5, 12.0, 20.2, 24.0 };
int sumIntegers = NumberUtils.SumOfDivisibleByFour<int>(integerArray);
double sumDoubles = NumberUtils.SumOfDivisibleByFour<double>(doubleArray);
Console.WriteLine($"Sum of integers divisible by 4: {sumIntegers}");
Console.WriteLine($"Sum of doubles divisible by 4: {sumDoubles}");
}
}
```
在这个例子中,`NumberUtils.SumOfDivisibleByFour`方法采用了`where`约束,它限制了泛型类型`T`必须是实现了`IConvertible`, `IFormattable`, 和 `IComparable<T>`接口的结构类型。这样我们就可以确保传入的是可以转换为整数并且能被4整除的数值。
阅读全文