
- •1. .Net архитектурасы.Net-ке бағытталған кодтын орындалуы және компиляциясы. Microsoft Intermediate Language (msil) тілінің артықшылықтары.
- •3. С# программалау тілінің негізі. Айнымалыларды жариялау. Айнымалыларды инициялизациялау олардың көріну облысы.
- •5. Консольді енгізу-шығару үшін System.Console-ді пайдалану. Процессор директивтері.
- •6. Объекті/ ж/е типтер. Структура және кластардың өзара айырмашылық/ы. Класс мүшелері.
- •8. Конструкторлар және статикалық конструкторлар. Тек оқуға рұқсат етілген өріс.
- •9. Жекеленген кластар. Статикалық кластар. Object класы.
- •10. Мұралау. Мұралау типі. Іске асыруды (реализация) мұралау.
- •11. Мұралау. Рұқсат модификаторлары. Интерфейстер.
- •12. Жалпылау. Жалпылауға шолу. Жалпыланған кластар құру.
- •13. Жалпыланған кластар құралдары. Жалпыланған интерфейстер.
- •14. Жалпыланған структуралар. Жалпыланған әдістер.
- •15. Массивтер және кортеждер. Жай массивтер. Көпөлшемді массивтер.
- •16. Тісті массивтер. Array класы.
- •17. Массивтер параметр ретінде. Тізім бойынша санау.
- •18. Кортеждер. Құрылымдық салыстыру.
- •20. Мәліметтердің қарапайым типтерін өзара өзгерту. Қаптама(boxing) құралдарымен мәндер типін сілтеме типке өзгерту.
- •21. Сілтеме типтерді келтіру арқылы өзгерту. Стандартты операцияларды қолданушы типтер үшін асыра жүктеу.
- •Vector структурасы
- •22. Келтіру операцияларын қолданушы типтерге қосу.
- •23. Делегаттар. Лямбда-өрнектер. Уақиғалар.
- •24. Сөз тіркесін құру. Жүйелі өрнектер.
- •25. Сөз тіркесін құру. Форматтаушы өрнектер.
- •26.Интерфейстер және коллекциялар типтері. Тізім, кезек және стектермен жұмыс.
- •27. Сортталған және жүйелі тізімдермен жұмыс. Жиындар мен сөздікті пайдалану.
- •29. Қателер және ерекшеліктер. Ерекшеліктерді өңдеу.
- •30. .Net ядросы. Деректер базасына қосылу. Команданы орындау.
.NET архитектурасы.NET-ке бағытталған кодтын орындалуы және компиляциясы. Microsoft Intermediate Language (MSIL) тілінің артықшылықтары. 1
.NET ядросы. Деректер базасына қосылу. Команданы орындау. 30
C#-тағы операциялар. Мәндер типімен және сілтемелермен жұмыс жасау кезіндегі эквиваленттілік идеясы. 19
C#-тың алдын ала анықталған мәндер типі. Main() әдісі. 4
Делегаттар. Лямбда-өрнектер. Уақиғалар. 23
Жалпыланған кластар құралдары. Жалпыланған интерфейстер. 13
Жалпыланған структуралар. Жалпыланған әдістер. 14
Жалпылау. Жалпылауға шолу. Жалпыланған кластар құру. 12
Жекеленген кластар. Статикалық кластар. Object класы. 9
Интегралданған сұраныс тілі. List <T> -ті пайдатанушы объектілерге арналған дәстүрлі сұраныстар. 28
Интерфейстер және коллекциялар типтері. Тізім, кезек және стектермен жұмыс. 26
Келтіру операцияларын қолданушы типтерге қосу. 22
Консольді енгізу-шығару үшін System.Console-ді пайдалану. Процессор директивтері. 5
Конструкторлар және статикалық конструкторлар. Тек оқуға рұқсат етілген өріс. 8
Кортеждер. Құрылымдық салыстыру. 18
Қателер және ерекшеліктер. Ерекшеліктерді өңдеу. 29
Массивтер және кортеждер. Жай массивтер. Көпөлшемді массивтер. 15
Массивтер параметр ретінде. Тізім бойынша санау. 17
Мәліметтердің қарапайым типтерін өзара өзгерту. Қаптама(boxing) құралдарымен мәндер типін сілтеме типке өзгерту. 20
Мән бойынша беру және сілтеме бойынша беру. Әдістің жүктелуі. 7
Мәндер типі және сілтеме типтер. Берілгендерді өңдеу және атрибуттар. 2
Мұралау. Мұралау типі. Іске асыруды (реализация) мұралау. 10
Мұралау.Рұқсат модификаторлары. Интерфейстер. 11
Объектілер және типтер. Структура және кластардың өзара айырмашылықтары. Класс мүшелері. 6
С# программалау тілінің негізі. Айнымалыларды жариялау. Айнымалыларды инициялизациялау олардың көріну облысы. 3
Сортталған және жүйелі тізімдермен жұмыс. Жиындар мен сөздікті пайдалану. 27
Сөз тіркесін құру. Жүйелі өрнектер. 24
Сөз тіркесін құру. Форматтаушы өрнектер. 25
Сілтеме типтерді келтіру арқылы өзгерту. Стандартты операцияларды қолданушы типтер үшін асыра жүктеу. 21
Тісті массивтер. Array класы. 16
1. .Net архитектурасы.Net-ке бағытталған кодтын орындалуы және компиляциясы. Microsoft Intermediate Language (msil) тілінің артықшылықтары.
.NET архитектурасы
C# архиттектурасы мен методологиясы өзінің методологиясында жатқан .NET-ті бейнелейді.
C# келесі екі артықшылықпен сипатталады
1) C# Microsoft .NET Framework-пен жұмыс істеу үшін арнайы жобаланған және жасап шығарылған.
2) C# тілі заманауи объектіге бағытталған методология проекттеуіне негізделген.
.NET-ке бағытталған кодтын орындалуы және компиляциясы.
.NET қаңқасының орталық бөлігі Comman Language Runtime(CLR) немесе .NET runtime болып есептеледі. CLR басқаруымен орындалатын кодты кейде басқарушы код деп те атайды. Алайда, код CLR-де орындалу үшін кез келген бастапқы жазба компиляциялану керек.
.NET компиляциясы 2 қадамнан тұрады:
1) Microsoft Intermediate Language(IL)-ғы бастапқы код компиляциясы
2) CLR арқылы IL компиляциясының платформа үшін спецификалық кодын
Бұл екі қадамды компиляция өте маңызды. Өйткені Microsoft Intermediate Language(IL) болуы .NET-гі көптеген артықшылықтарына кілт болып есептеледі.
Microsoft Intermediate Language (MSIL) тілінің артықшылықтары.
Microsoft Intermediate Language байт код пен Java-ның қарапайым синтаксисті төмендеігейлі тіл идеясымен бөліседі. Бұл нақты анықталған әмбебап синтаксисті кодтың болуы бізге көптеген артықшылықтар береді. Олар:
Платформадан тәуелсіз болу
Бұл дегеніміз байт-код нұсқаулықтары кез келген платформада жұыс істейді
Жұмыс өнімділігінің жоғарлығы
IL коды әрқашан тез компиляцияланады және ол Java-ға қарағанда жылдамрақ
Арақатнасқа тілдік қабілеттілік
IL қолданылуы тек платформадан тәуелсіздікті қамтамасыз етіп қана қоймай арақатнасқа қабілеттілікті қамтамасыз етеді.
2. Мәндер типі және сілтеме типтер. Берілгендерді өңдеу және атрибуттар.
C# тілінде мәліметтер типінің 2 категориясы бар: Мәліметтер типі, Сілтемелік типтер
Мәліметтер типі мен Сілтемелік типтердің концептуалды айырмашылығы Мәліметтер типі мәліметтерді өзі сақтайтын болса, Сілтемелік тип мәнге сілтеме сақтайды.
Бұл типтер жадтың әр түрлі орнында сақталады: Мәліметтер типі стек ретінде анықталған аймақта,ал Сілтемелік типтер басқарылатын үймеде сақталады.Бұл категорияларды ажырата алу өте маңызды,себебі оларға берілген мәндер әр түрлі эффект береді.Мысалы, int мәлімет типі,яғни келесі операторлар нәтижесінде жадтың 2 аймағын құрады,олардың әрқайсысы 20 мәнін сақтайды:
// i & j типтері int
i-20;
j-20;
Келесі кодты қарастырайық. Vector деп аталған класс анықталған дейік. Vector сілтемелік тип int типті Value деп аталған айнымалы бар деп есептейік.
Vector x,y;
X=new Vector();
x.Value=30;
y=x;
Console.Writeline(y.Value);
y.Value=50;
Console.Writeline(x.Value);
Бұл код орындалған соң Vector типті бір ғана объект құрылады,ал x пен y осы объект сақталған аймақты көрсетеді.
x пен y сілтемелік типті айнымалы болғандықтан,олардың әрқайсысының анықталуы Vector типті мәліметті объектінің экземплярын құрмайды, тек сілтемені резервке қояды.Екі жағдайда да объект құрылмайды.Объект құру үшін мысалда көрсетілгендей new түйінді сөзін қолдану керек. x пен y бірдей объектілерге сілтенетіндіктен ,х ке енгізілген өзгертулер у те көрсетіледі.Сондықтан код алдымен 30 кейіннен 50 шығарады.
Егер айнымалы сілтемелік болса,онда ол ешқандай объектіге сілтемейді деп айтуға негіз бар,оның мәнін null теңестіреміз.
Y=null;
Егер сілтеме null теңестірілсе,онда оған қоса ешқандай статикалық емес әдістерді шақырып немесе қатарларға жүгінуге болмайды.
Атрибут — Attribute базалық класынан мұраға қалған класс.
Оның мәне сипаттауды генерациялауда. Класс, өріс, қасиет н/е әдіске атрибут құру арқылы қалаған қасиеттеріңізді бере аласыз. Атрибут өріс-ң мағынасы мен қасиетіне, клас-ң әдісі-ң орындалуына әсер етпейді, егер де әдіс денесінде атрибутта сақталатын информация болмаса. Алайда, ең бастысы - атрибут-ң мәнін код-ң орындалу процесінде өзгертуге болмайды, с/бі олар-ң қасиет-ң мағынасы компиляцияланған модульде константа түрінде сақталады. Мысал:
Мынандай атрибут бар:
public class MyAttribute : Attribute // стандарт класстан мұрагерлік арқылы жеке атрибут құрамыз
{
public int Count { get; set; } // атрибут құрамында болатын өз қасиетін құрамыз
}
Сипатталған атрибутты классқа меншіктейміз ж/е оның мәнін GetArray фнук-ң нәтижесін қалыптастыру үшін қолданамыз:
[MyAttribute{ Count = 3 }]
public class IntArrayInitializer
{
public int[] GetArray()
{
var type = this.GetType(); // тип сипаттамасын алу
if (Attribute.IsDefined(type, typeof(MyAttribute))) // атрибут-ң бар болуын тексеру
{
var attributeValue = Attribute.GetCustomAttribute(type, typeof(MyAttribute)) as MyAttribute; // атрибут мәнін аламыз
return new int[attributeValue.Count]; // нәтижені қалыптастыру үшін атрибутты аламыз
}
return new int[0];
}
}
Кодтан көргендей, алдымен біздің клас-ң сипаттамасын, кейін атрибуттың барын тексереміз ж/е ол анықталса, атрибутта көрсетілген элемент-р санымен массив қалыптастырамыз. Енді осы класстан мұрагерленіп, дәл сол класқа атрибуттың басқа мәнін берсек, әдісті шақырғанда, керек өлшемдегі массивті аламыз.