在学校,我们的任务是创建一个检查字符串是否为回文的方法。我写了代码,但我不能使用签名方法。教授要求的签名是:
bool ItsPalindrom(string read);
我的代码:
private void buttonPalindrom_Click(object sender, EventArgs e)
{
string read = textBoxPalindrom.Text.ToLower();
read = read.Replace(" ", "");
int i = 0;
string ReverseArr = "";
while (i < read.Length)
{
ReverseArr = read[i] + ReverseArr;
i++;
}
if (read== ReverseArr)
{
MessageBox.Show("je palindrom");
}
else
{
MessageBox.Show("ni palindrom");
}
}
答案 0 :(得分:4)
为什么不呢?使用该签名定义一个方法并将逻辑移到那里。在事件处理程序中调用该方法
bool ItsPalindrom(string read)
{
//your palindrome logic
}
private void buttonPalindrom_Click(object sender, EventArgs e)
{
ItsPalindrom(textBoxPalindrom.Text.ToLower());
}
答案 1 :(得分:2)
方法&#34;签名&#34;是它的返回类型和参数。您无法更改事件处理程序的签名(例如按钮单击方法),但您可以让它调用另一个方法,从现有代码重构:
private bool IsPalindrome(string read)
{
read = read.Replace(" ", "");
int i = 0;
string ReverseArr = "";
while (i < read.Length)
{
ReverseArr = read[i] + ReverseArr;
i++;
}
return read == ReverseArr;
}
然后你就叫它:
private void buttonPalindrom_Click(object sender, EventArgs e)
{
string read = textBoxPalindrom.Text.ToLower();
bool palindrome = IsPalindrome(read);
if (palindrome )
{
MessageBox.Show("je palindrom");
}
else
{
MessageBox.Show("ni palindrom");
}
}