有人可以帮我这个吗?: 我正在尝试从我的班级“数字”中调用一个方法来显示如果输入的数字超过50,则在按钮上单击一个消息框显示“高”但如果它低于50则显示“低”。 我无法弄清楚我在这里做错了什么。 这是我班上的代码:
private int number;
private string getNumber(int num)
{
number = num;
return number.ToString();
}
public int numProperty
{
get { return number; }
set { number = value; }
}
public void isHighorlow()
{
if (number >=50)
{
}
else
{
return;
}
}
注意:int“number”也是从文本框中获取值的属性。 &安培;这是我的表格中的代码:
numbers info = new numbers();
private void Btn_Click(object sender, EventArgs e)
{
info.numProperty = Convert.ToInt32(numberBOX.Text);
info.isHighorlow = Messagebox.Show = ("High");
}
我知道我还没有添加“低”位,因为我还在试图看看它是如何工作的。对不起,如果它似乎令人困惑,因为我还在学习c#。 我收到错误消息:无法分配isHighorlow,因为它是方法组的一部分。 而且我也意识到如果我只在文本框上做一个if语句会更容易,但我正在练习类和方法所以我试图这样做。 谢谢。
答案 0 :(得分:3)
我猜你想要这样的东西:
public string isHighorlow(int number)
{
if (number >=50)
{
return "High";
}
else
{
return "Low";
}
}
numbers info = new numbers();
private void Btn_Click(object sender, EventArgs e)
{
Messagebox.Show(info.isHighorlow(Convert.ToInt32(numberBOX.Text)))
}
答案 1 :(得分:1)
isHighorLow是一种方法,而不是属性。
MessageBox.Show是一种方法。
不确定你要做什么,但它应该是:
if(info.isHigh(Convert.ToInt32(numberBox.Text)))
Messagebox.Show("High");
else
Messagebox.Show("Low");
意思是你有一个方法就是这样:
public bool isHigh()
{
return number>=50
}
答案 2 :(得分:1)
尝试以这种方式更改代码:
private int _number;
private string GetNumber(int number)
{
_number = number;
return number .ToString();
}
public int Number
{
get { return _number; }
set { _number = value; }
}
public string IsHigh()
{
get { if (number >= 50) return true; }
}
numbers info = new numbers();
private void Btn_Click(object sender, EventArgs e)
{
info.Number = Convert.ToInt32(numberBOX.Text);
MessageBox.Show(info.IsHigh ? "High" : "Low");
}
答案 3 :(得分:1)
在课堂上,您已定义void isHighorlow()
这意味着您有一个不返回任何内容的方法
当然,这样的方法不能像你所做的那样用在表达式的左边部分。
可能你想在你的班级写作
public bool isHighorlow()
{
if (number >=50)
{
return true;
}
else
{
return false;
}
}
以这种方式声明一个方法,如果内部值为> = 50则返回True,否则返回false 现在,您可以在表单中以这种方式使用该方法
Messagebox.Show(info.isHighorlow() ? "High" : "Low");
但是,如果要求只是返回true或false的标志,那么最好使用只读属性以这种方式更改类代码
public bool isHighorlow()
{
get
{
return (number >=50 ? true : false);
}
// No set, read only
}
答案 4 :(得分:1)
IsHighOrLow应如下
public bool isHighorlow()
{
if (number >=50)
{
return true;
}
else
{
return false;
}
}
点击按钮
if (info.isHighorlow){
//say high
} else
{
// say low
}
答案 5 :(得分:1)
(免责声明:仔细检查boolean
和每个C#的相关常量)
isHighOrLow根本不做任何事情。也许这会更好:
public boolean isHigh()
{
if (number >=50)
{
return true;
}
else
{
return false;
}
}
或者,更简洁:
public boolean isHigh()
{
return number >=50;
}
当你打电话时,这可能更接近你的需要:
numbers info = new numbers();
private void Btn_Click(object sender, EventArgs e)
{
info.numProperty = Convert.ToInt32(numberBOX.Text);
if (info.isHigh())
{
Messagebox.Show("High");
}
else
{
Messagebox.Show("Low");
}
}