Vb.net 如何更改IF语句以选择…Case
我已经得到了以下内容,其中包含了一个特定变量的多个值,我不想用大量的Vb.net 如何更改IF语句以选择…Case,vb.net,Vb.net,我已经得到了以下内容,其中包含了一个特定变量的多个值,我不想用大量的IF-ELSE语句来处理它们,因此如果有人能够非常友好地使用SELECT-CASE语句来修改代码,我将不胜感激 另外,我希望dgMarksEntry.Item(7,I).Value和dgMarksEntry.Item(8,I).Value分别处理RANK和COUNT输入的项目数 For i = 0 To 100 dgMarksEntry.Item(4, i).Value = Val(dgMarksEntry.I
IF-ELSE
语句来处理它们,因此如果有人能够非常友好地使用SELECT-CASE
语句来修改代码,我将不胜感激
另外,我希望dgMarksEntry.Item(7,I).Value
和dgMarksEntry.Item(8,I).Value
分别处理RANK
和COUNT
输入的项目数
For i = 0 To 100
dgMarksEntry.Item(4, i).Value = Val(dgMarksEntry.Item(3, i).Value) + Val(dgMarksEntry.Item(2, i).Value)
If dgMarksEntry.Item(4, i).Value >= 80 Then
dgMarksEntry.Item(5, i).Value = "A1"
dgMarksEntry.Item(6, i).Value = "Excellent"
ElseIf dgMarksEntry.Item(4, i).Value >= 75 Then
dgMarksEntry.Item(5, i).Value = "B2"
dgMarksEntry.Item(6, i).Value = "Very good"
ElseIf dgMarksEntry.Item(4, i).Value >= 70 Then
dgMarksEntry.Item(5, i).Value = "B3"
dgMarksEntry.Item(6, i).Value = "Good"
ElseIf dgMarksEntry.Item(4, i).Value >= 65 Then
dgMarksEntry.Item(5, i).Value = "C4"
dgMarksEntry.Item(6, i).Value = "Credit"
ElseIf dgMarksEntry.Item(4, i).Value >= 60 Then
dgMarksEntry.Item(5, i).Value = "C5"
dgMarksEntry.Item(6, i).Value = "Credit"
ElseIf dgMarksEntry.Item(4, i).Value >= 55 Then
dgMarksEntry.Item(5, i).Value = "C6"
dgMarksEntry.Item(6, i).Value = "Credit"
ElseIf dgMarksEntry.Item(4, i).Value >= 50 Then
dgMarksEntry.Item(5, i).Value = "D7"
dgMarksEntry.Item(6, i).Value = "Pass"
ElseIf dgMarksEntry.Item(4, i).Value >= 40 Then
dgMarksEntry.Item(5, i).Value = "E8"
dgMarksEntry.Item(6, i).Value = "Weak pass"
ElseIf dgMarksEntry.Item(4, i).Value <= 39 Then
dgMarksEntry.Item(5, i).Value = "F9"
dgMarksEntry.Item(6, i).Value = "Fail"
End If
Next
用于i=0到100
dgMarksEntry.Item(4,i).Value=Val(dgMarksEntry.Item(3,i).Value)+Val(dgMarksEntry.Item(2,i).Value)
如果dgMarksEntry.Item(4,i).Value>=80,则
dgMarksEntry.Item(5,i).Value=“A1”
dgMarksEntry.Item(6,i).Value=“优秀”
ElseIf dgMarksEntry.Item(4,i).值>=75然后
dgMarksEntry.Item(5,i).Value=“B2”
dgMarksEntry.Item(6,i).Value=“非常好”
ElseIf dgMarksEntry.Item(4,i).值>=70然后
dgMarksEntry.Item(5,i).Value=“B3”
dgMarksEntry.Item(6,i).Value=“良好”
ElseIf dgMarksEntry.Item(4,i).值>=65然后
dgMarksEntry.Item(5,i).Value=“C4”
dgMarksEntry.Item(6,i).Value=“信用”
ElseIf dgMarksEntry.Item(4,i).值>=60然后
dgMarksEntry.第(5,i)项.Value=“C5”
dgMarksEntry.Item(6,i).Value=“信用”
ElseIf dgMarksEntry.Item(4,i).值>=55然后
dgMarksEntry.Item(5,i).Value=“C6”
dgMarksEntry.Item(6,i).Value=“信用”
ElseIf dgMarksEntry.项(4,i).值>=50,则
dgMarksEntry.Item(5,i).Value=“D7”
dgMarksEntry.Item(6,i).Value=“通过”
ElseIf dgMarksEntry.Item(4,i).值>=40然后
dgMarksEntry.Item(5,i).Value=“E8”
dgMarksEntry.Item(6,i).Value=“弱通过”
ElseIf dgMarksEntry.Item(4,i).Value您需要做的所有事情都在这一页上,包括一些开始的示例
我会选择一种完全不同的方法。首先,声明一个类,该类可以包含评级信息:
Public Class CreditRating
Private m_Limit As Integer
Public Property Limit() As Integer
Get
Return m_Limit
End Get
Set(ByVal value As Integer)
m_Limit = value
End Set
End Property
Private m_Rating As String
Public Property Rating() As String
Get
Return m_Rating
End Get
Set(ByVal value As String)
m_Rating = value
End Set
End Property
Private m_Appreciation As String
Public Property Appreciation() As String
Get
Return m_Appreciation
End Get
Set(ByVal value As String)
m_Appreciation = value
End Set
End Property
End Class
然后将逻辑更改为:
Dim ratings As New List(Of CreditRating)
ratings.Add(New CreditRating With {.Limit = 80, .Rating = "A1", .Appreciation = "Excellent"})
ratings.Add(New CreditRating With {.Limit = 75, .Rating = "B2", .Appreciation = "Very good"})
ratings.Add(New CreditRating With {.Limit = 70, .Rating = "B3", .Appreciation = "Good"})
ratings.Add(New CreditRating With {.Limit = 65, .Rating = "C4", .Appreciation = "Credit"})
ratings.Add(New CreditRating With {.Limit = 60, .Rating = "C5", .Appreciation = "Credit"})
ratings.Add(New CreditRating With {.Limit = 55, .Rating = "C6", .Appreciation = "Credit"})
ratings.Add(New CreditRating With {.Limit = 50, .Rating = "D7", .Appreciation = "Pass"})
ratings.Add(New CreditRating With {.Limit = 40, .Rating = "E8", .Appreciation = "Weak pass"})
ratings.Add(New CreditRating With {.Limit = 0, .Rating = "F9", .Appreciation = "Fail"})
For i As Integer = 0 To 100
Dim value As Double = Conversion.Val(dgMarksEntry(3, i).Value) + Conversion.Val(dgMarksEntry(2, i).Value)
dgMarksEntry(4, i).Value = value
For Each rating As CreditRating In ratings
If value >= rating.Limit Then
dgMarksEntry(5, i).Value = rating.Rating
dgMarksEntry(6, i).Value = rating.Appreciation
Exit For
End If
Next
Next
通过这种方法,您还可以从文件或数据库中读取评级信息。这使得更改限制更容易。它也不太容易出错,因为逻辑只编程一次,所有限制都是相同的。您想让我们为您编码吗??!请显示您的SQL。。。你试过什么?什么不起作用?我已经检查了链接,但我仍然可以得到它非常好。请尝试更改我的IF-ELSE语句以为我选择案例。请给我举个例子。@Akaglo:如果dgMarksEntry.Item(4,i).Value>=80,那么您是否尝试编写了案例dgMarksEntry.Item(4,i).Value>=80?等等…非常感谢。我完全理解你的代码。它工作得很好。