c# - 在 C# 中重用文本框的乘法逻辑

标签 c# asp.net

我有 60 个文本框。每排三个。对于二十行中的每一行,我将前两个文本框相乘并将值存储在第三个文本框中。 我创建了一个简单的逻辑,用于将两个文本框中的值相乘并将值存储在第三个文本框中。 不幸的是,这个逻辑需要粘贴二十次。有没有办法为每一行重用相同的逻辑。 任何帮助将不胜感激!

private void Multiplication()
    {
        int a;
        float b;
        if (BoxA.Text != "")
            {
            a= Convert.ToInt32(BoxA.Text);
            }
        else
            {
            a = 0;
            }
        if (BoxB.Text != "")
            {
            b = Convert.ToSingle(BoxB.Text);
            }
        else
            {
            b= 0;
            }

        float c= a* b;
        BoxC.Text = mult.ToString();

    }

最佳答案

您应该使用共享方法来共享逻辑。传递你的盒子,并在那里执行逻辑:

private static void MultiplyBoxes(TextBox a, TextBox b, TextBox c) {
    if (!int.TryParse(a.Text, var out ia)) {
        ia = 0;
    }
    if (!int.TryParse(b.Text, var out ib)) {
        ib = 0;
    }
    c.Text = (ia*ib).ToString();
}

现在您可以为每一行附加相同的方法,而无需复制粘贴实际逻辑。

注意:这是用 C# 7 语法(var out 构造)编写的。如果您使用早期版本,请预先声明 int ia, ib,并在方法调用中使用 out iaout ib

关于c# - 在 C# 中重用文本框的乘法逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46625977/

相关文章:

c# - 从变量后面的代码更改 css 类 - 避免的方法?

c# - "Move To Another File"之后的大括号布局错误

c# - 不可为空的System.DateTime的值

asp.net - 如果安全页面执行回发,回发会继续在安全页面上吗?

Javascript/ASP.net 在下拉列表更改后触发事件

asp.net - 如何通过 System.Web.UI.DataVisualization.Chart 使用透明度

javascript - ASP 复选框在单击时触发 Javascript 中的事件

c# - 在 BindingSoure.Filter 或 DataView.RowFilter 中使用 Like 过滤整数

c# - 如何将 ListView 绑定(bind)到多个实体?

c# - 在 iOS 渲染器中是否有必要检查一个对象是否是我认为的对象(在本例中是 UITabBarController?