Framework .Net и универсальность

Написано admin в 20 Июнь 2008 – 21:50 -

Framework .Net и универсальность

Универсальность принадлежит к основным механизмам языка. Ее введение в язык C# не могло не сказаться на всех его основных свойствах. Как уже говорилось, классы и все частные случаи стали обладать этим свойством. Введение универсальности не должно было ухудшить уже достигнутые свойства языка – статический контроль типов, динамическое связывание и полиморфизм. Не должна была пострадать и эффективность выполнения программ, использующих универсальные классы.

Решение этих задач потребовало введения универсальности не только в язык C#, но и поддержки на уровне каркаса Framework .Net и языка IL, включающем теперь параметризованные типы. Универсальный класс C# не является шаблоном, на основе которого строится конкретизированный класс, компилируемый далее в класс (тип) IL. Компилятору языка C# нет необходимости создавать классы для каждой конкретизации типов универсального класса. Вместо этого происходит компиляция универсального класса C# в параметризованный тип IL. Когда же CLR занимается исполнением управляемого кода, то вся необходимая информация о конкретных типах извлекается из метаданных, сопровождающих объекты. Read more »


Tags: , , , , , , , , , , ,
Находится в Учебник | No Comments »

Урок 30. Перегрузка

Написано admin в 14 Июнь 2008 – 16:14 -

Урок 30. Перегрузка

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

Вот пример:

Read more »


Tags: , , , , , ,
Находится в Уроки C# | No Comments »

Урок 26. Строки (класс System.String)

Написано admin в 14 Июнь 2008 – 16:11 -

Урок 26. Строки (класс System.String)

Строки в C# – это экземпляры класса System.String. Вообще говоря в C# есть тип string, но класс System.String яляется более продвинутым, так что его использование часто оказывается более оправданным и простым. Этот класс имеет множество методов и свойств, некоторые из которых перечислены ниже:

Свойство Length. Возвращает длину строки. Пример использования:

            String s="qqq";
            int k=s.Length; //В k запишется 3

Compare. Статический метод, сравнивающий две строки. Возвращает 0, есть строки равны, отрицательное значение, если первая строка меньше второй и положительное значение, если первая строки больше второй (больше и меньше в алфавитном смысле, разумеется). Пример использования:

Read more »


Tags: , , , , , , , , , , ,
Находится в Уроки C# | No Comments »

Урок 25. Передача параметров переменой длины

Написано admin в 14 Июнь 2008 – 16:10 -

Урок 25. Передача параметров переменой длины

В функцию можно передавать заранее неизвестное число параметров. Например, функция может складывать некоторое заранее неизвестное количество чисел и возвращать их сумму.

Вот конкретный пример реализации такой функции:

Read more »


Tags: , , , , , , , ,
Находится в Уроки C# | No Comments »

Урок 23. Статические конструкторы

Написано admin в 14 Июнь 2008 – 16:09 -

Урок 23. Статические конструкторы

Статическими к классе могут быть и конструкторы. Если обычный конструктор вызывается в момент создания экземпляра класса, то статический – в самом начале, т. е. перед созданием первого экземпляря класса.

В статическом конструкторе можно задать начальные значения для статических переменных класса. Вот пример:

Read more »


Tags: , , ,
Находится в Уроки C# | No Comments »