我是一個全新的n00bie在視覺c#和我遇到了一個奇怪的障礙,這是駕駛我瘋狂!這是有問題的代碼(是的,一個Hello World程序):如果在按鈕c#中的語句#
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text.Equals("Goodbye Cruel World"))
{
textBox1.Text = ("Hello World!");
}
else { textBox1.Text = ("Goodye Cruel World"); }
}
}
}
我還試圖用textBox1.Text == 「再見殘酷的世界」;作爲if語句在編譯器中沒有錯誤的評估參數(按照我使用Visual Studio 2012 Ultimate的方式)
程序運行良好。我將textbox文本屬性初始化爲「Hello World!」使用VS的設計GUI。我面臨的問題是代碼只在用戶第一次單擊按鈕時起作用。任何時候按鈕沒有任何時間。
我調試了代碼,並確保在第一次用戶單擊按鈕時適當更改了文本框文本屬性。當用戶第二次點擊該按鈕(或之後的任何時間)時,一旦代碼到達if語句,它將跳過它,就好像對內部表達式的評估是FALSE一樣。實際上,跟上調試工具,按鈕只會繼續執行else塊內的代碼,即使我知道我正在使用的TextBox.Text屬性之前已被適當地更改過。
我在這裏丟失什麼?爲什麼按鈕只是在我硬編碼的兩個字符串之間切換文本框的文本值?
拼寫錯誤。 ''Goodye Cruel World''你錯過了'b'。 – Yahya
你在這裏缺少一個尖銳的眼睛。 –
這就是爲什麼你應該總是爲這樣的事情使用一個'private const string'字段,而不是一遍又一遍地輸入字符串。 :) –