У меня есть простая форма, которая принимает число из переключателя выбора (1-5) из 11 вопросов и записывает значения в базу данных как данные varchar (10). Я намереваюсь отправить пользователя на страницу результатов, которая перечисляет сумму этих оценок через простой цикл for, но когда я пытаюсь выполнить синтаксический анализ данных в целочисленный формат, он просто приводит к нулю из-за ошибки синтаксического анализа. Вот пример моего кода:
// Q1 - Q11 are the questions in my Db, using Model property
int sum = 0;
int temp = 0;
String question;
for (int i = 11; i >= 1; i--)
{
question = "Model.Q" + i.ToString();
temp = int.Parse(question);
sum += temp;
}
return sum;
Что странно, если я разбираю их по отдельности, например, пишу:
Int32.TryParse(Model.Q5, out temp);
Я в состоянии разобрать данные просто отлично. Моя консоль показывает, что цикл сохраняет переменную question
как "Model.Qx"
с кавычками, что в итоге приводит к сумме 0
. Я также попытался использовать Int32.TryParse();
для этого, и это не дало никакой разницы, кроме обработки ошибки.
Может ли строка просто не анализироваться, если она содержит пунктуацию в конкатенации с переменной i
или я что-то здесь упускаю? Я хочу избежать разбора каждого вопроса в отдельности, так как в коде он выглядит довольно некрасиво.
Заранее спасибо.