是否可以在类文件中使用标签存储此方法? 例如:
aspx.cs
private void addSalat()
{
decimal sum= Convert.ToDecimal(Label6.Text);
decimal sum2= Convert.ToDecimal(Label17.Text);
decimal sum3= Convert.ToDecimal(Label54.Text);
decimal sum4= Convert.ToDecimal(Label66.Text);
decimal sum5= Convert.ToDecimal(Label78.Text);
decimal sum6= Convert.ToDecimal(Label90.Text);
decimal sum7= Convert.ToDecimal(Label102.Text);
decimal sum8= Convert.ToDecimal(Label114.Text);
decimal sum9= Convert.ToDecimal(Label126.Text);
decimal sum= sum+ sum2+
sum3+ sum4+ sum5+ sum6+ sum7+ sum8
+ sum9;
Label42.Text = sum.ToString();
}
//在这里做计算并在aspx.cs文件中调用此方法,我不知道如果可能的话如何放置标签:
public class Class1
{
public void Sum()
{
decimal sum= Convert.ToDecimal(Label6.Text);
decimal sum2= Convert.ToDecimal(Label17.Text);
decimal sum3= Convert.ToDecimal(Label54.Text);
decimal sum4= Convert.ToDecimal(Label66.Text);
decimal sum5= Convert.ToDecimal(Label78.Text);
decimal sum6= Convert.ToDecimal(Label90.Text);
decimal sum7= Convert.ToDecimal(Label102.Text);
decimal sum8= Convert.ToDecimal(Label114.Text);
decimal sum9= Convert.ToDecimal(Label126.Text);
decimal sum= sum+ sum2+
sum3+ sum4+ sum5+ sum6+ sum7+ sum8
+ sum9;
Label42.Text = sum.ToString();
}
}
答案 0 :(得分:2)
你必须做这样的事情:
private decimal Sum(decimal firstValue, params decimal[] moreValues)
{
decimal val = firstValue;
return val + moreValues.Sum(); // Note this is not recursion. It is calling the LINQ Sum() function.
}
并称之为:
Sum(5.2); // returns 5.2
Sum(6, 10); // returns 16
Sum(1,2,3); // returns 6
或类似的东西:
decimal sum = Sum(Convert.ToDecimal(Label6.Text),
Convert.ToDecimal(Label17.Text),
Convert.ToDecimal(Label54.Text)
// and so forth
);
答案 1 :(得分:0)
我会把它留在页面的代码隐藏中。由于您基本上只是添加值,因此将其拆分为不同的类并不会带来很多好处。如果您正在进行更复杂的计算,需要进行单元测试等,那么我会考虑拆分它。
您还可以使用Linq对值进行求和,使代码更清晰:
decimal sum = new [] {Label6, Label17, Label54, Label66, Label78, Label90, Label102, Label114, Label126}
.Sum(lbl => Convert.ToDecimal(lbl.Text));