Фон этой программы достаточно прост: я хочу, чтобы пользователь мог ввести любую букву (A, B, C и т. Д.) В textbox
, и одним нажатием кнопки вернуть программу, сколько штатов США начнется с этой буквы (например, введенная буква A и результат 4).Вытягивание/добавление определенных значений из массива с использованием цикла for
Вот мой код, как сейчас ...
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
. Мне кажется, что мне нужна еще одна строка кода непосредственно для цикла для общих значений. Я прав?
да и вы также можете захотеть, чтобы убедиться, что он не чувствителен к регистру. Вы можете перегружать StartsWith, чтобы обрабатывать случай, как вы предпочитаете. –