2014-09-01 60 views
0

我试图创建一个方法,我可以传递一个浮点数,对其进行评估,然后相应地更新文本标签。有人会友好地看看我的代码,并指出我在正确的方向吗?提前感谢...如何在不返回任何值的情况下创建方法

public static GetGrade(float wp) 
    { 
     if (wp >= 100) 
     { 
      grade_current.Text = "A"; 
     } 
     else if (wp >= 90) 
     { 
      grade_current.Text = "A"; 
     } 
     else if (wp >= 75 && wp <= 89) 
     { 
      grade_current.Text = "B"; 
     } 
     else if (wp >= 60 && wp <= 74) 
     { 
      grade_current.Text = "C"; 
     } 
     else if (wp >= 50 && wp <= 59) 
     { 
      grade_current.Text = "D"; 
     } 
     else 
     { 
      grade_current.Text = "F"; 
     } 
    } 

我试图打电话与GetGrade(wp);

+0

你没有得到的东西从函数返回值。该函数正在做一些事情并返回void。因此,从命名约定的角度来看,最好从函数名称中删除Get。函数名称可以是SetGradeLabel等。它看起来更有意义。 – Priyank 2014-09-02 07:36:47

+0

同意,谢谢你的有见地的答复。 – 66Mhz 2014-09-06 02:43:17

回答

3

只要使用“无效”,还可以清理一下代码,使其更容易对眼睛:

public static void GetGrade(float wp) 
{ 
    if (wp >= 100) 
     grade_current.Text = "A"; 
    else if (wp >= 90) 
     grade_current.Text = "A"; 
    else if (wp >= 75) 
     grade_current.Text = "B"; 
    else if (wp >= 60) 
     grade_current.Text = "C"; 
    else if (wp >= 50) 
     grade_current.Text = "D"; 
    else 
     grade_current.Text = "F"; 
} 
+0

谢谢你。使用此代码时出现以下错误:'错误非静态字段,方法或属性grade_current需要对象引用 – 66Mhz 2014-09-01 22:18:37

+1

因为您的方法是静态的。要引用你的类中的元素,请尝试删除“静态”,因为它在这里似乎不需要。只需使用“public void GetGrade(float wp)” – Lightor 2014-09-01 22:21:41

+0

很好用,现在看起来也好多了!再次感谢。 – 66Mhz 2014-09-01 22:30:25

2

你的方法缺少返回类型的方法。如果您不需要返回任何内容,请使用“void”。

public static GetGrade(float wp) 

=>

public static void GetGrade(float wp) 
+0

感谢您的快速回复和解释。现在工作很好! – 66Mhz 2014-09-01 22:12:58

相关问题