Net framework 5, а также среды Visual Studio 2012 и C#



Download 6,27 Mb.
Pdf ko'rish
bet217/658
Sana12.06.2023
Hajmi6,27 Mb.
#950840
1   ...   213   214   215   216   217   218   219   220   ...   658
Bog'liq
CLR via C Programmirovanie na platforme Microsoft NET Framework 4 5 na yazyke C

307
Обобщения.в.библиотеке.FCL
в производительности практически нет, обобщенный алгоритм обычно имеет 
и другие преимущества.
ПриМеЧание
Необходимо.понимать,.что.CLR.генерирует.машинный.код.для.любого.метода.при.
первом.его.вызове.в.применении.к.конкретному.типу.данных .Это.увеличивает.размер.
рабочего.набора.приложения.и.снижает.производительность .Подробнее.об.этом.
мы.поговорим.чуть.позже.в.разделе.«Инфраструктура.обобщений» 
Обобщения в библиотеке FCL
Разумеется, обобщения применяются с классами коллекций, и в FCL определено не-
сколько таких обобщенных классов. Большинство этих классов можно найти в про-
странствах имен 
System.Collections.Generic
и 
System.Collections.ObjectModel

Также имеются безопасные в отношении потоков классы коллекций в пространстве 
имен 
System.Collections.Concurrent
. Microsoft рекомендует программистам от-
казаться от необобщенных классов коллекций в пользу их обобщенных аналогов 
по нескольким причинам. Во-первых, необобщенные классы коллекций, в отличие 
от обобщенных, не обеспечивают безопасность типов, простоту и понятность кода 
и повышение производительности. Во-вторых, объектная модель у обобщенных 
классов лучше, чем у необобщенных. Например, у них меньше виртуальных мето-
дов, что повышает производительность, а новые члены, добавленные в обобщенные 
коллекции, добавляют новую функциональность.
Классы коллекций реализуют множество интерфейсов, а объекты, добавляемые 
в коллекции, могут реализовывать интерфейсы, используемые классами коллекций 
для таких операций, как сортировка и поиск. В составе FCL поставляется множество 
определений обобщенных интерфейсов, поэтому при работе с интерфейсами также 
доступны преимущества обобщений. Большинство используемых интерфейсов 
содержится в пространстве имен 
System.Collections.Generic
.
Новые обобщенные интерфейсы не заменяют необобщенные: во многих ситуа-
циях приходится задействовать оба вида интерфейсов. Причина — необходимость 
сохранения обратной совместимости. Например, если бы класс 
List
реализо-
вывал только интерфейс 
IList
, в коде нельзя было бы рассматривать объект 
List<
DateTime>
как 
IList
.
Также отмечу, что класс 
System.Array
, базовый для всех типов масси-
вов, поддерживает множество статических обобщенных методов, в том числе 
AsReadOnly

BinarySearch

ConvertAll

Exists

Find

FindAll

FindIndex

FindLast

FindLastIndex

ForEach

IndexOf

LastIndexOf

Resize

Sort
и 
TrueForAll
. Вот как 
выглядят некоторые из них:
public abstract class Array : ICloneable, IList, ICollection, IEnumerable, 
IStructuralComparable, IStructuralEquatable {
продолжение



308
Download 6,27 Mb.

Do'stlaringiz bilan baham:
1   ...   213   214   215   216   217   218   219   220   ...   658




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish