Программирование >>  Программирование с использованием ajax 

1 ... 38 39 40 [ 41 ] 42 43 44 ... 396


Ввод в приведенном коде всего лишь трех букв str позволил IDE правильно догадаться о том, что требуется ввести слово string. Эта функция является еще более полезной при вводе имен переменных. При наборе длинных фрагментов кода имена переменных, которые требуется использовать, часто забываются. Благодаря тому, что IDE отображает по мере ввода всплывающий список всех возможных имен, имена требуемых переменных можно всегда легко отыскать, не возвращаясь и не отыскивая их в предыдущих фрагментах кода.

К моменту ввода после myString символа точки IDE уже знает, что myString является строкой, понимает, что требуется указать строковую команду, и предлагает список возможных в таком случае вариантов. На этом этапе при желании можно прекратить ввод и просто выбрать в этом списке желаемую команду с помощью клавиш со стрелками вверх и вниз. По мере перехода по доступным вариантам IDE отображает описание выбранной в текущей момент команды и ее синтаксиса.

В случае ввода дополнительных символов IDE автоматически перемещает выделение на самую вероятную из возможно подразумеваемых команд. После того, как IDE покажет нужную команду, можно продолжать ввод так, будто бы вводится полное имя, после чего ввод открывающей круглой скобки (() может привести прямо к тому этапу, на котором требуется указывать необходимую некоторым командам дополнительную информацию, и даже тогда IDE подскажет, в каком формате должна вводиться эта информация, отображая возможные варианты для команд, которые принимают различное количество информации.

Эта функция IDE (известная как IntelliSense) чрезвычайно удобна и позволяет легко находить сведения о любых незнакомых типах. Если интересно, можете с ее помощью, например, просмотреть все команды, которые поддерживает тип string, и поэкспериментировать с ними.

Иногда такая отображаемая информация может закрывать уже введенный код и тем самым раздражать, поскольку в коде могут содержаться детали, к которым необходимо обращаться при дальнейшем вводе. Нажатие клавиши <Ctrl> позволяет деяать отображаемый список предлагаемых команд прозрачным и тем самым видеть код, который он скрывал. Данная чрезвычайно полезная возможность является новой и доступна только в версиях VS 2008 и VCE 2008.

Резюме

Благодаря настоящей главе, вы расширили свои знания о переменных и заполнили некоторые из оставшихся пробелов. Пожалуй, наиболее важной из рассмотренных в этой главе является тема преобразования, поскольку она будет встречаться в настоящей книге повсеместно. Хорошее представление о связанных с нею концепциях на данном этапе намного облегчит процесс понимания прочих вещей позже.

Помимо этого в главе рассматривались еще несколько типов переменных, с помощью которых можно хранить данные более удобным образом. В частности, здесь было рассказано о том, как перечисления могут делать код удобочитаемым за счет применения легко распознаваемых значений, как структуры могут использоваться для объединения множества связанных между собой элементов данных в одном месте и как разработчик может группировать похожие данные вместе посредством массивов. Переменные всех этих типов еще много раз будут применяться в оставшейся части книги.

И, наконец, в завершение главы было рассказано о манипулировании строками, о базовых приемах и связанных с этим принципах. Для манипулирования строками доступно много отдельных строковых команд и в этой главе демонстрировались лишь



некоторые из них, но зато теперь вы знаете, как находить такие доступные команды в ШЕ-среде. Не бойтесь экспериментировать. По крайней мере, одно из следующих упражнений можно выполнить с использованием одной или более строковых команд, которые в главе не рассматривались, поэтому их нужно найти самостоятельно.

Упражнения

1. Какая из следующих операций преобразования не может выполняться неявно:

а)int в short

б) short в int

в) boolв string

г) byte в float

2. Создайте на базе типа short код для перечисления color, содержащего все цвета радуги, а также черный и белый цвет. Может ли такое перечисление основываться на типе byte?

3. Измените приводившийся в предыдущей главе пример генератора множества Мандельброта так, чтобы в нем для сложных чисел использовалась следующая структура:

struct imagNum {

public double real, imag;

4. Будет ли компилироваться приведенный ниже код? Обоснуйте ответ.

string[] blab = new string[5] string[5] = 5th string.

5. Напишите консольное приложение, способное получать от пользователя строку и выводить ее с отображением символов в обратном порядке.

6. Напишите консольное приложение, способное получать строку и заменять в ней все вхождения слова по словом yes.

7. Напишите консольное приложение, способное заключать каждое слово в строке в двойные кавычки.




функции

Весь показанный до сих пор код имел вид одного блока, который иногда включал несколько циклов для повторения строк кода и ряд ветвлений для выполнения операторов в зависимости от соблюдения тех или иных условий. При необходимости выполнить над данными какую-то операцию, требуемый для этого код приходилось размещать именно в том месте, где он должен был работать.

Такг1я структура кода является ограниченной. Довольно часто необходимо, чтобы некоторые задачи, вроде поиска наиболее высокого значения в массиве, например, выполнялись в нескольких точках в программе. Конечно, можно добавлять в приложение идентичные (или почти идентичные) разделы кода всякий раз, когда в этом возникает необходимость, но такой подход имеет свои недостатки. Изменение даже одной небольшой детали, касающейся общей задачи (для исправления ошибки в коде, например), в таком случае означает, что соответствующие изменения потребуется вносить во множество разделов кода, которые могут быть разбросаны по всему приложению. Пропуск одного из этих разделов может повлечь за собой серьезные последствия и сделать неработоспособным все приложение. К тому же это еще и существенно удлиняет приложение.

Решить эту проблему позволяют функции. Функции в языке С# являются средствами предоставления блоков кода, которые могут выполняться в любой точке в приложении.

Функции того конкретного типа, который изучается в настоящей главе, называются методами, но этот термин имеет очень специфическое значение в программировании для .NET, которое рассматривается позже в книге. Поэтому пока данный термин использоваться не будет.

Например, можно создать функцию, вычисляющую максимальное значение в массиве. Далее ее можно применять из любой точки в коде и в каждом случае использовать для этого одинаковые строки кода. Поскольку предоставлять этот код нужно только один раз, любые вносимые в него изменения будут отражаться на данной операции вычисления при всяком ее применении. Другими словами, к этой функции можно относится как к содержащей многократно используемый код.



1 ... 38 39 40 [ 41 ] 42 43 44 ... 396

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика