这个程序的背景很简单:我希望用户能够在 a 中输入任何字母(A、B、C 等)textbox
,然后单击一个按钮,让程序返回多少个美国州开始用那个字母(例如输入字母A,结果是4)。
这是我现在的代码......
private void btnClick_Click(object sender, EventArgs e)
{
string[] States = new String[50] {"Alabama", "Alaska", "Arizona", "Arkansas", "California", "Colorado",
"Connecticut", "Delaware", "Florida", "Georgia", "Hawaii", "Idaho", "Illinois", "Indiana", "Iowa", "Kansas",
"Kentucky", "Louisiana", "Maine", "Maryland", "Massachusetts", "Michigan", "Minnesota", "Mississippi", "Missouri",
"Montana", "Nebraska", "Nevada", "New Hampshire", "New Jersey", "New Mexico", "New York", "North Carolina",
"North Dakota", "Ohio", "Oklahoma", "Oregon", "Pennsylvania", "Rhode Island", "South Carolina", "South Dakota",
"Tennessee", "Texas", "Utah", "Vermont", "Virginia", "Washington", "West Virginia", "Wisconsin", "Wyoming"};
string myLetter = txtboxEnter.Text;
int result;
result = 0;
for (int i = 0; i <= States.Length - 1; i++)
{
if (States[i].Substring(0, 1) == myLetter)
{
result = result + i;
}
else
{
result = 0;
}
}
lblDisplay.Text = Convert.ToString(result);
}
如您所见,我在数组中声明了州。
我遇到的问题是 for 循环和其中的If
语句。
始终返回的值是0
。我觉得好像我需要另一行代码直接用于循环到总值。我对么?