Часть 1
212
radioButton2.Visible = true;
radioButton3.Visible = true;
this.getQw();
this.showQw();
mode = 1;
button1.Enabled = false;
radioButton4.Checked = true;
break;
case 1:
nv++;
// правильный ли ответ выбран
if (otv == right) n++;
if (this.getQw()) this.showQw();
else {
// больше вопросов нет
radioButton1.Visible = false;
radioButton2.Visible = false;
radioButton3.Visible = false;
pictureBox1.Visible = false;
// обработка и вывод результата
this.showLevel();
// следующий щелчок на кнопке Ok
// закроет окно программы
mode = 2;
}
break;
Примеры и задачи
213
case 2: // завершение работы программы
this.Close(); // закрыть окно
break;
}
}
// выводит оценку
private void showLevel()
{
// ищем узел
do
xmlReader.Read();
while (xmlReader.Name != "levels");
// входим внутрь узла
xmlReader.Read();
// читаем данные узла
while (xmlReader.Name != "levels")
{
xmlReader.Read();
if (xmlReader.Name == "level")
// n - кол-во правильных ответов,
// проверяем, попадаем ли в категорию
if (n >= System.Convert.ToInt32(
xmlReader.GetAttribute("score")))
break;
}
// выводим оценку
label1.Text =
"Тестирование завершено.\n" +
"Всего вопросов: " + nv.ToString() + ". " +
Часть 1
214
"Правильных ответов: " + n.ToString() + ".\n" +
xmlReader.GetAttribute("text");
}
}
}
Листинг 1.36. Пример файла теста
Архитектурные памятники Санкт-Петербурга
Сейчас Вам будут предложены вопросы по
архитектуре Петербурга. Вы должны из предложенных нескольких
вариантов ответа выбрать правильный.
Доменико Трезини
Огюст Монферран
Карл Росси
Зимний дворец(Эрмитаж)
Мариинский дворец
Строгановский дворец
Примеры и задачи
215
LINQ
В этом разделе собраны примеры, которые позволяют получить
представление о LINQ (Language Integrated Query) — интегриро-
ванном языке запросов.
Общие замечания
LINQ позволяет оперировать с данными (массивами, списка-
ми, XML-документами и другими источниками данных).
Выполнение операций над данными обеспечивают Query-
операторы (q-операторы).
Значением q-оператора может быть последовательность или
элемент данных.
Значением операторов
Where
,
Order
и
Select
является по-
следовательность.
Значением операторов
First()
,
Last()
,
ElementAt()
,
Count()
,
Min()
,
Max()
,
Contains()
и
Any()
является элемент.
Чтобы использовать LINQ, в программу нужно добавить
ссылку на пространства имен
System
.
Linq
и
System
.
Linq
.
XML
.
Поиск в массиве
Программа LINQ – поиск в массиве (листинг 1.37), ее форма и
окно (результат поиска элементов, удовлетворяющих критерию
запроса) приведены на рис. 1.48 и 1.49, демонстрирует использо-
вание LINQ для поиска информации в массиве. Выбор информа-
ции обеспечивает оператор
Where
.
Do'stlaringiz bilan baham: |