Кортеждер

Массивтер бір типті объектілерді жүйелесе, кортеждер әр түрлі типті объектілерді жүйелей алады..NET 4-те кортеждердің фабрикасы қызметін атқаратын сегіз Tuple жалпылама классы және Tuple бір статистикалық классы анықталған. Әр түрлі мөлшерлі элементті қолдайтын Tuple жалпылама класстары әр түрлі болады: Tuple<T1> бір элементті, Tuple<T1, T2> екі элементтен тұрады.

Divide() методы кортеждің екі мүшесінің қайтуын көрсетеді - Tuple<int,int>. Жалпылама класстың параметрі мүшелердің типін анықтайды, біздің жағдайда екеуі де бүтін сан. Кортеж Tuple статистикалық классының Create() статистикалық методымен жасалған. Create() методының жалпылама параметрлері кортеждің жасалынып жатқан экземплярының типін анықтайды. Қайта жасалынған кортеж бөлінгіш нәтижесін қайтару үшін result және reminder айнымалыларымен инициализацияланады.

Public static<int,int> Divide(int dividend, int divisor)

{ Int result=dividend/divisor;

Int reminder=dividend%divisor;

Return Tuple.Create<int,int>(result,reminder); }

Келесі кодта Divide() методын шақыру көрсеілген. Кортеж элементтері Item1 және Item2 ерекшеліктері арқылы ғана қолжетімді.

Var result=Divide(5,2);

Console.WriteLine(“resultat delenia: {0}, ostatok:{1}”,

Result.Item1, result.Item2);

Кортежге енгізілетін элемент саны сегізден көп болған жағдайда сегіз параметрлі Tuple классының анықтамасын қолдануға болады. Кортеждің өзі берілетін соңғы параметр TRest деп аталады. Осылайша параметр санына шектеусіз кортеждер жасауға болады.

Бұл функционалдылықты көрсету үшін келесідей код жазамыз:

Public class Tuple<T1,T2,T3,T5,T6,T7,TRest>

Мұнда шаблонның соңғы параметрі кортеждің типі болып табылады, осылайша кез келген көлемді кортеж жасауға болады:

Var tuple=Tuple.create<string,string,string,int,int,int,double,

Tule<int,int>>(“Stephanie”,”Alina”,”Nagel”,2009,6,2,1,37,

Tuple.create<int,int>(52,3490));



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: