C#。在处理重载时如何避免代码重复
C#.How can I avoid code repeating when I work with overload
你能告诉我在我应该根据用户输入(参数数量)选择重载的情况下如何避免重复代码吗?如果有任何帮助,我将不胜感激。
public int GetSomething(int firstNumber, int secondNumber)
{
**var var1= GetSomething(firstNumber, secondNumber);
var var2= GetSomething(thirdNumber, var1);**
return var2;
}
public int GetSomething(int firstNumber, int secondNumber, int thirdNumber, int fourthNumber)
{
**var var1= GetSomething(firstNumber, secondNumber);
var var2= GetSomething(thirdNumber, var1);
var var3= GetSomething(fourthNumber, var2);**
return var3;
}
public int GetSomething(int firstNumber, int secondNumber, int thirdNumber, int fourthNumber, int fifthNumber)
{
**var var1= GetSomething(firstNumber, secondNumber);
var var2= GetSomething(thirdNumber, var1;
var var3= GetSomething(fourthNumber, var2);
var var4= GetSomething(fifthNumber, var3);**
return var4;
}
你可以使用 params.
public int GetSomething(params int[] numbers)
{
int total = 0;
foreach (int number in numbers)
{
total = Calculate(total, number);
}
return total;
}
您可以通过为 int
类型
创建自定义扩展方法来尝试避免重复代码
public static class Ext
{
public static int GetSomething(this int firstNumber, int secondNumber)
{
//just an example
return firstNumber + secondNumber;
}
}
回答使用示例
var firstNumber = 1;
var secondNumber = 2;
var thirdNumber = 3;
var var1 = firstNumber.GetSomething(secondNumber);
var var2 = thirdNumber.GetSomething(var1);
return var2;
您可以将此示例扩展到任意数量的参数,而无需创建重复的方法
你能告诉我在我应该根据用户输入(参数数量)选择重载的情况下如何避免重复代码吗?如果有任何帮助,我将不胜感激。
public int GetSomething(int firstNumber, int secondNumber)
{
**var var1= GetSomething(firstNumber, secondNumber);
var var2= GetSomething(thirdNumber, var1);**
return var2;
}
public int GetSomething(int firstNumber, int secondNumber, int thirdNumber, int fourthNumber)
{
**var var1= GetSomething(firstNumber, secondNumber);
var var2= GetSomething(thirdNumber, var1);
var var3= GetSomething(fourthNumber, var2);**
return var3;
}
public int GetSomething(int firstNumber, int secondNumber, int thirdNumber, int fourthNumber, int fifthNumber)
{
**var var1= GetSomething(firstNumber, secondNumber);
var var2= GetSomething(thirdNumber, var1;
var var3= GetSomething(fourthNumber, var2);
var var4= GetSomething(fifthNumber, var3);**
return var4;
}
你可以使用 params.
public int GetSomething(params int[] numbers)
{
int total = 0;
foreach (int number in numbers)
{
total = Calculate(total, number);
}
return total;
}
您可以通过为 int
类型
public static class Ext
{
public static int GetSomething(this int firstNumber, int secondNumber)
{
//just an example
return firstNumber + secondNumber;
}
}
回答使用示例
var firstNumber = 1;
var secondNumber = 2;
var thirdNumber = 3;
var var1 = firstNumber.GetSomething(secondNumber);
var var2 = thirdNumber.GetSomething(var1);
return var2;
您可以将此示例扩展到任意数量的参数,而无需创建重复的方法