gpt4 book ai didi

vb.net - 我可以简化这个 VB.net 代码,这样我就不必重复那么多吗?

转载 作者:行者123 更新时间:2023-12-03 00:33:24 25 4
gpt4 key购买 nike

我正在创建一个调度算法。我的代码变得很长。任何人都可以建议我如何使我的代码更短,因为我必须在下面多次重复同样的事情,并且外部 else 是 4 或 5 我必须重复更多:

这是我的部分代码的示例:

 ElseIf Val(jobs_txt.Text) = 3 Then
If (a < b And b < c) Then
awt1_lbl.Text = Val(0)
awt2_lbl.Text = a
awt3_lbl.Text = a + b
y = (Val(awt1_lbl.Text) + Val(awt2_lbl.Text) + Val(awt3_lbl.Text)) / 3
awt_ans.Text = y
ElseIf (a < c And c < b) Then
awt1_lbl.Text = Val(0)
awt2_lbl.Text = a + b
awt3_lbl.Text = a
y = (Val(awt1_lbl.Text) + Val(awt2_lbl.Text) + Val(awt3_lbl.Text)) / 3
awt_ans.Text = y
ElseIf (b < a And a < c) Then
awt1_lbl.Text = a
awt2_lbl.Text = Val(0)
awt3_lbl.Text = a + b
y = (Val(awt1_lbl.Text) + Val(awt2_lbl.Text) + Val(awt3_lbl.Text)) / 3
awt_ans.Text = y
ElseIf (b < c And c < a) Then
awt1_lbl.Text = a + b
awt2_lbl.Text = Val(0)
awt3_lbl.Text = a
y = (Val(awt1_lbl.Text) + Val(awt2_lbl.Text) + Val(awt3_lbl.Text)) / 3
awt_ans.Text = y
ElseIf (c < a And a < b) Then
awt1_lbl.Text = a
awt2_lbl.Text = a + b
awt3_lbl.Text = Val(0)
y = (Val(awt1_lbl.Text) + Val(awt2_lbl.Text) + Val(awt3_lbl.Text)) / 3
awt_ans.Text = y
ElseIf (c < b And b < a) Then
awt1_lbl.Text = a + b
awt2_lbl.Text = a
awt3_lbl.Text = Val(0)
y = (Val(awt1_lbl.Text) + Val(awt2_lbl.Text) + Val(awt3_lbl.Text)) / 3
awt_ans.Text = y
End If

最佳答案

首先,看起来您可以移动最后两行

y = (Val(awt1_lbl.Text) + Val(awt2_lbl.Text) + Val(awt3_lbl.Text)) / 3
awt_ans.Text = y

if-then-else 之外,因为它们在所有六种情况下都执行相同的操作。

接下来,因为看起来您的代码将 Val(0) 分配给具有最小键的项目,将 a+b 分配给中间的值,并将 a对于最大的一个,您可以将 abc 放入键数组 awt1_lbl 中,将 awt2_lbawt3_lbl 放入值数组中,并对它们进行排序,如下所示:

Dim keys() As String = { a, b, c }
Dim labels() As LabelType = { awt1_lbl, awt2_lb, awt3_lbl } // put real label type there
Array.Sort(keys, labels)
labels(0).Text = Val(0)
labels(1).Text = a+b
labels(2).Text = a

关于vb.net - 我可以简化这个 VB.net 代码,这样我就不必重复那么多吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9081268/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com