BillWoodruff
В дополнение к ценным ссылкам, размещенным здесь Раулем и Дипу, я хотел бы порекомендовать вам хорошую вводную книгу по C#: я особенно рекомендую писателей Джесси Либерти и Мэтью Макдональда; хотя некоторые из их книг начального уровня уже несколько лет, они отличные учителя, а также писатели.
Есть хорошая книга (скачать бесплатно онлайн, .pdf) "Dot Net Zero" Чарльза Петцольда: [^].
Вот несколько кратких описаний типа задач, которые я назначаю студентам, имеющим техническое образование и некоторое знакомство с другими языками программирования, но новичкам в C# и .NET. Я призываю студентов использовать Windows Forms, а не консоль.
0. получите учетную запись (бесплатно) на Project Euler [^], и создавать решения на языке C# по крайней мере для десяти математических задач.
1. (неизбежное) напишите математический калькулятор,который включает в себя такие функции,как sin,cos, tan, atan, квадратный корень, to-the-power-of.
2. Создайте приложение с TreeView, которое позволяет конечному пользователю вводить текст для нового узла, а затем создаст новый узел as ... выбор пользователя ... родитель, потомок, старший или младший брат выбранного узла в древовидном представлении.
3. на основе списка "строка", содержащего ряд категорий, и списка "строка списка", содержащего ряд элементов: создайте пользовательский интерфейс, в котором категории находятся в одном выпадающем списке, а содержимое второго выпадающего списка определяется тем, какой элемент в первом выпадающем списке выбран: индекс выбранного элемента первого выпадающего списка используется для выбора списка из списка "строка списка".;
4. Использование текстового поля и строки состояния: откройте текстовый файл и отобразите текст в текстовом поле. На основе выбора пользователем меню: отображение информации о тексте: длина, количество пробелов, общее количество всех элементов пробела, общее количество цифр, общее количество прописных/строчных символов, количество абзацев (двойные строки). Всегда представляйте текущее состояние выделенного текста в текстовом поле, показывая длину выделения, начало выделения, конец выделения и общее количество символов в выделениях в строке состояния формы.
5. Использование TreeView: скопируйте Xml-файл здесь: [^], сохраните его в файл и в своей программе: откройте файл, прочитайте его в соответствующую структуру класса, а затем создайте узлы TreeView, которые отражают структуру Xml-файла.
Это одно из моих любимых заданий для студентов, освоивших основы языка Си#:
"Create a user-interface that expedites the calculation of airplane ticket costs based on total number of passengers booking as group or family, age (child, adult, senior), date of departure (off-season, holiday, regular), date of arrival (off-season, holiday, regular), frequent-flyer membership (basic, premium, platinum), booking date, total number of passengers, domestic versus international travel, type of payment (cash, wire transfer, credit-card). All data-entry Controls must prevent entering any non-meaningful character given the context, and must perform validation.
All internal logic processing is to be performed using Enumerations (enum) and switch statements ... unless ... you present a compelling reason not to use this strategy."
Это лишь некоторые из них: конечно, я стараюсь "подгонять" проблемы, поставленные перед студентом, к его прошлому и текущим интересам: важно то, что человек может быть увлечен обучением ! :)