我有相同的代码在两个地方:如何删除此重复的代码
if (amountUnit.ToLower().Contains("x"))
{
string[] amount = amountUnit.Split('x');
x = amount[0].Trim();
y = amount[1].Trim();
}
else
{
x = "1";
y = amountUnit.Trim();
}
//
unit = textInBrackets.Replace(amountUnit, "");
name = "";
for (int z = 0; z < i; z++)
{
name += someArray[z];
name += " ";
}
name = name.Trim();
确切的代码重复两次。如何解决它?如果我在一个新的方法中提取它,我会有很多参考输入参数。有另一种方法吗? 如果这是不可能的,只是部分直到评论?
哪些参数在这里说明什么? – 2013-04-08 11:45:40
看起来应该有两种不同的方法 - 一个用于'x'和'y',另一个用于'name'。如果你把'x'和'y'封装成一个结构体,你将有一个'ref'参数(或者考虑_returning_该结构体并在调用者中改变它)。 – Oded 2013-04-08 11:45:54
也许你可以返回一个更复杂的结构或类包含所有的返回数据? – 2013-04-08 11:46:14