我对来自Java的C#相当陌生,我想知道是否有一种简单的方法可以避免涉及原始类型的代码重复:
private Boolean AtLeastOneBufferItemIsNonZero(int[] Buffer)
{
Boolean result = false;
foreach (int Item in Buffer)
{
result = !(Item == (int)0);
if (result) break;
}
return result;
}
private Boolean AtLeastOneBufferItemIsNonZero(float[] Buffer)
{
Boolean result = false;
foreach (float Item in Buffer)
{
result = !(Item == (float)0);
if (result) break;
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
我找不到一个"数字"超类型,以便我可以比较一个泛型实现中的"项目"(我不介意拳击的性能损失,虽然我明白在.NET中没有这样的东西?):
//SOMETHING LIKE THIS?
private Boolean AtLeastOneBufferItemIsNonZero<T>(T[] Buffer) where T : NUMBERTYPE
{
Boolean result = false;
foreach (T Item in Buffer)
{
result = …
Run Code Online (Sandbox Code Playgroud)