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



Download 6,27 Mb.
Pdf ko'rish
bet196/658
Sana12.06.2023
Hajmi6,27 Mb.
#950840
1   ...   192   193   194   195   196   197   198   199   ...   658
Bog'liq
CLR via C Programmirovanie na platforme Microsoft NET Framework 4 5 na yazyke C

тип System.Tuple
В пространстве имен 
System
определено несколько обобщенных кортежных типов 
(все они наследуются от класса 
Object
), которые отличаются количеством обобщен-
ных параметров. Приведу наиболее простую и наиболее сложную формы записи.


277
Свойства.без.параметров
// Простая форма:
[Serializable]
public class Tuple {
private T1 m_Item1;
public Tuple(T1 item1) { m_Item1 = item1; }
public T1 Item1 { get { return m_Item1; } }
}
// Сложная форма:
[Serializable]
public class Tuple {
private T1 m_Item1; private T2 m_Item2; 
private T3 m_Item3; private T4 m_Item4;
private T5 m_Item5; private T6 m_Item6; 
private T7 m_Item7; private TRestm_Rest;
public Tuple(T1 item1, T2 item2, T3 item3, 
T4 item4, T5 item5, T6 item6, T7 item7, TRest t) {
m_Item1 = item1; m_Item2 = item2; m_Item3 = item3; m_Item4 = item4;
m_Item5 = item5; m_Item6 = item6; m_Item7 = item7; m_Rest = rest;
}
public T1 Item1 { get { return m_Item1; } }
public T2 Item2 { get { return m_Item2; } }
public T3 Item3 { get { return m_Item3; } }
public T4 Item4 { get { return m_Item4; } }
public T5 Item5 { get { return m_Item5; } }
public T6 Item6 { get { return m_Item6; } }
public T7 Item7 { get { return m_Item7; } }
public TRest Rest { get { return m_Rest; } }
}
Как и объекты анонимного типа, объект 
Tuple
создается один раз и остается 
неименным (все свойства доступны только для чтения). Я не привожу соответ-
ствующих примеров, но классы 
Tuple
также позволяют использовать методы 
CompareTo

Equals

GetHashCode
и 
ToString
, как и свойство 
Size
. К тому же все 
типы 
Tuple
реализуют интерфейсы 
IStructuralEquatable

IStructuralComparable
и 
IComparable
, поэтому вы можете сравнивать два объекта типа 
Tuple
друг с дру-
гом и смотреть, как их поля сравниваются. Для детального изучения этих методов 
и интерфейсов посмотрите документацию SDK.
Приведу пример метода, использующего тип 
Tuple
для возвращения двух частей 
информации в вызывающий метод.
// Возвращает минимум в Item1 и максимум в Item2
private static TupleMinMax(Int32 a, Int32 b) {
return new Tuple(Math.Min(a, b), Math.Max(a, b));
}
// Пример вызова метода и использования Tuple
private static void TupleTypes() {
varminmax = MinMax(6, 2);
продолжение



278
Download 6,27 Mb.

Do'stlaringiz bilan baham:
1   ...   192   193   194   195   196   197   198   199   ...   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