泛型约束问题
/// <summary>
/// 累加数组中所有数字
/// </summary>
/// <typeparam name="T">所有数字类型</typeparam>
/// <param name="a">数组</param>
/// <returns>数字</returns>
public static double Sum<T>(T[] a) where T : sbyte, byte, short, ushort, int, uint, long, ulong, float, double {
double s = 0;
for (int i = 0; i < a.Length; i++) {
s += Double.Parse( a[i].ToString());
}
return s;
}
错误 “sbyte”不是有效的约束。作为约束使用的类型必须是接口、非密封类或类型形参。
我想对这个约束为数字怎么写?
/// 累加数组中所有数字
/// </summary>
/// <typeparam name="T">所有数字类型</typeparam>
/// <param name="a">数组</param>
/// <returns>数字</returns>
public static double Sum<T>(T[] a) where T : sbyte, byte, short, ushort, int, uint, long, ulong, float, double {
double s = 0;
for (int i = 0; i < a.Length; i++) {
s += Double.Parse( a[i].ToString());
}
return s;
}
错误 “sbyte”不是有效的约束。作为约束使用的类型必须是接口、非密封类或类型形参。
我想对这个约束为数字怎么写?
...全文
相关推荐
Java泛型变量如何添加约束
Java泛型变量如何添加约束Java泛型变量是一种强大的工具,它允许开发者编写更加灵活和可重用的代码。然而,在使用泛型变量时,需要注意类型安全问题,以免出现运行时错误。
C# where泛型约束测试代码
总结一下,`where`泛型约束是C#中用于提高泛型类型安全性和灵活性的关键工具。通过理解和熟练使用`where`约束,我们可以编写更强大、更健壮的代码,同时确保在运行时不会出现类型不匹配的问题。
Java泛型使用
泛型的引入主要是为了解决代码复用和类型安全问题,避免在运行时出现类型转换异常(ClassCastException)。1.1 什么是泛型,为什么引入泛型?
一线:基于约束的泛型
在"one-liner-master"这个压缩包中,可能包含了一些示例代码或者教程,演示如何使用基于约束的泛型在Haskell中编写一行解决复杂问题的代码。
.NET/C#如何判断某个类是否是泛型类型或泛型接口的子类型详解
在C#中,泛型主要有以下几个特点:1. **类型参数复用**:如果泛型类型实例化的参数相同,JIT编译器会重复使用已编译的代码,避免了C++模板可能导致的代码膨胀问题。2.


