Ну столкнулся с такой проблемой, что переменная как с самого начала было 0 так и осталась. По сути должна принять значение от пары "ключ-значение" и прибавить его к переменной, ну а дальше вывести в label7(верхний). На скриншоте после того как я ввёл букву нажал на кнопку ход и показывает 0.
private void button1_Click(object sender, EventArgs e)
{
int gets = 0;
string word = textBox1.Text;
List<char> wordsPart = new List<char>();
foreach (char c in word)
{
wordsPart.Add(c);
}
foreach (char ch in wordsPart)
{
foreach (KeyValuePair<char,int> item in latterScore)
{
if (item.Key == ch)
gets += item.Value;
}
}
label7.Text = gets.ToString();
}
Dictionary<char, int> latterScore = new Dictionary<char, int>();
public void InitializeLatters()
{
latterScore.Add('а', 1);
latterScore.Add('б', 2);
latterScore.Add('в', 1);
latterScore.Add('г', 3);
latterScore.Add('д', 2);
latterScore.Add('е', 1);
latterScore.Add('ё', 3);
latterScore.Add('ж', 5);
latterScore.Add('з', 5);
latterScore.Add('и', 1);
latterScore.Add('й', 4);
latterScore.Add('к', 2);
latterScore.Add('л', 2);
latterScore.Add('м', 2);
latterScore.Add('н', 1);
latterScore.Add('о', 1);
latterScore.Add('п', 2);
latterScore.Add('р', 1);
latterScore.Add('с', 1);
latterScore.Add('т', 1);
latterScore.Add('у', 2);
latterScore.Add('ф', 10);
latterScore.Add('х', 5);
latterScore.Add('ц', 5);
latterScore.Add('ч', 5);
latterScore.Add('ш', 8);
latterScore.Add('ь', 3);
latterScore.Add('ы', 5);
latterScore.Add('э', 8);
latterScore.Add('ъ', 10);
latterScore.Add('ю', 8);
latterScore.Add('я', 3);
latterScore.Add('*', 0);
}
Это, конечно, не ответ на вопрос, но я не удержался от рефакторинга вашего кода. Вот код, который делает то же самое, что ваш
private void button1_Click(object sender, EventArgs e)
{
label7.Text = textBox1.Text
.Where(c=>latterScore.ContainsKey(c))
.Sum(c=>latterScore[c]).ToString();
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости