Vb.net 如何解决';函数不会在所有代码路径上返回值';

Vb.net 如何解决';函数不会在所有代码路径上返回值';,vb.net,Vb.net,我已经研究并阅读了这里的所有问题,但是我没有尝试解决这个问题。该函数用于向应用程序输出字母等级。为了更加清晰,下面是类和函数的代码 Public Class Coursegrade 'names private veriables Private _Score1 As Integer Private _Score2 As Integer Private _Score3 As Integer Private Letter_grade As String 'gets and returns eac

我已经研究并阅读了这里的所有问题,但是我没有尝试解决这个问题。该函数用于向应用程序输出字母等级。为了更加清晰,下面是类和函数的代码

Public Class Coursegrade
'names private veriables 
Private _Score1 As Integer
Private _Score2 As Integer
Private _Score3 As Integer
Private Letter_grade As String
'gets and returns each veriable
'for application use
Public Property Grade As String
    Get
        Return Letter_grade
    End Get
    Set(value As String)
        If value > String.Empty Then
            Letter_grade = value
        Else
            Letter_grade = String.Empty
        End If
    End Set
End Property
Public Property TestScore1 As Integer
    Get
        Return _Score1
    End Get
    Set(value As Integer)
        If value > 0 Then
            _Score1 = value
        Else
            _Score1 = 0
        End If
    End Set
End Property


Property TestScore2 As Integer
    Get
        Return _Score2
    End Get
    Set(value As Integer)
        If value > 0 Then
            _Score2 = value
        Else
            _Score2 = 0
        End If
    End Set
End Property

Public Property TestScore3 As Integer
    Get
        Return _Score3
    End Get
    Set(value As Integer)
        If value > 0 Then
            _Score3 = value
        Else
            _Score3 = 0
        End If
    End Set
End Property

'starts veriables of at 0
Public Sub New()
    _Score1 = 0
    _Score2 = 0
    _Score3 = 0
End Sub
'calculates the adverage
Public Function Gettotal() As Integer
    Return _Score1 + _Score2 + _Score3
End Function


Public Function Give_letter_grade() As String
    Dim intTotal As Integer
    intTotal = Gettotal()

    'start your secletion
    If intTotal <= 270 AndAlso intTotal >= 300 Then
        Letter_grade = "A"
    ElseIf intTotal <= 240 AndAlso intTotal >= 269 Then
        Letter_grade = "B"
    ElseIf intTotal <= 210 AndAlso intTotal >= 239 Then
        Letter_grade = "C"
    ElseIf intTotal <= 180 AndAlso intTotal >= 290 Then
        Letter_grade = "D"
    ElseIf intTotal > 180 Then
        Letter_grade = "F"
    Else

        Letter_grade = ""
    End If
End Function 
公共课程等级
“私人可验证名称”
Private _Score1作为整数
Private _Score2作为整数
Private _Score3作为整数
私信等级为字符串
'获取并返回每个可验证的
'供应用使用
公共财产等级为字符串
得到
回信等级
结束
设置(值为字符串)
如果值>字符串,则为空
字母等级=数值
其他的
字母等级=字符串。空
如果结束
端集
端属性
公共属性TestScore1为整数
得到
返回(1分)
结束
设置(值为整数)
如果值>0,则
_分数1=数值
其他的
_分数1=0
如果结束
端集
端属性
属性TestScore2为整数
得到
返回2分
结束
设置(值为整数)
如果值>0,则
_分数2=数值
其他的
_分数2=0
如果结束
端集
端属性
公共属性TestScore3为整数
得到
返回(3分)
结束
设置(值为整数)
如果值>0,则
_分数3=数值
其他的
_得分3=0
如果结束
端集
端属性
'从0开始验证
公共分新()
_分数1=0
_分数2=0
_得分3=0
端接头
'计算平均值
公共函数Gettotal()为整数
返回(分数1+)分数2+(分数3)
端函数
公共函数以字符串形式给出字母等级()
整数形式的整数
intTotal=Gettotal()
“开始你的秘密活动
如果intTotal=300,则
字母_grade=“A”
ElseIf intTotal=269那么
字母_grade=“B”
ElseIf intTotal=239那么
字母_grade=“C”
ElseIf intTotal=290那么
字母_grade=“D”
ElseIf intTotal>180然后
字母_grade=“F”
其他的
字母_grade=“”
如果结束
端函数
该错误显示在give letter grade()公共函数give_letter_grade()的结束函数上,作为字符串
Public Function Give_letter_grade() As String
Dim intTotal As Integer
intTotal = Gettotal()

'start your secletion
If intTotal <= 300 AndAlso intTotal >= 270 Then
    Letter_grade = "A"
ElseIf intTotal <= 269 AndAlso intTotal >= 240 Then
    Letter_grade = "B"
ElseIf intTotal <= 239 AndAlso intTotal >= 210 Then
    Letter_grade = "C"
ElseIf intTotal < 210 AndAlso intTotal >= 180 Then
    Letter_grade = "D"
ElseIf intTotal < 180 Then
    Letter_grade = "F"
Else

    Letter_grade = ""
End If

Return Letter_grade '<--- you are missing the 'Return' statement
End Function 
整数形式的整数 intTotal=Gettotal() “开始你的秘密活动 如果intTotal=270,则 字母_grade=“A” ElseIf intTotal=240那么 字母_grade=“B” ElseIf intTotal=210那么 字母_grade=“C” ElseIf intTotal<210,ALSO intTotal>=180,则 字母_grade=“D” ElseIf intTotal<180则 字母_grade=“F” 其他的 字母_grade=“” 如果结束
回信_grade'怎么可能
intTotal
同时达到300?另外,vba与VB.NET不同。由于该方法(函数)不返回任何内容,因此您会得到这样一条消息:如果值>字符串.Empty,那么您的期望是什么:If value>String.Empty,那么我希望它为该数字范围提供相同的输出。@我试图将其用作空值来解决问题。为什么值>字符串.Empty?字符串比较使用值不是空的,@catsrull如果答案回答了您的问题,您需要将答案标记为已接受谢谢您也解释了我做错的一切,并且没有对我不做表示粗鲁