このプログラムの背景は非常に単純です。ユーザーが任意の文字 (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
。値を合計するためのループに直接別のコード行が必要なように感じます。私は正しいですか?