Речник на термините
Всички 90 термина от 12 модула на едно място, подредени по азбука. Не помниш какво беше „инкапсулация“ или „ламбда“? Намери го тук.
90 термина
А
- Абсолютен път
- Пълен път от корена на диска:
@"C:\MyFolder\data.txt"— еднозначен, но непреносим между компютри. - Абстрактен клас
- Клас-основа, който не може да се инстанцира; абстрактните му методи са без тяло и наследниците са длъжни да ги override-нат.
- Акумулатор
- Променлива, декларирана преди цикъла, която "натрупва" резултат по време на итерациите:
sum += i;.
Б
- Безкраен цикъл
- Цикъл, чието условие никога не става
false— програмата "забива". Най-често от забравено обновяване на променливата в условието. - Брояч (итератор)
- Променливата, която следи докъде е стигнал цикълът — по конвенция
i(послеj,kза вложените). - Булев израз
- Всеки израз с резултат от тип
bool— сравнение (a > 5), логическа комбинация (a > 5 && b < 10) или булева променлива.
В
- Верижност (chaining)
- Навързване на методи:
list.Where(...).OrderBy(...).Select(...)— резултатът от единия е вход за следващия. - Вложени цикли
- Цикъл вътре в цикъл. Вътрешният изминава всичките си итерации за всяка стъпка на външния.
- Връщан тип
- Типът на резултата (
int,string,bool…) илиvoid, ако методът само върши действие.
Г
- Генеричен тип <T>
TвList<T>е "заместител" за типа на елементите:List<int>,List<string>,List<Student>.
Д
- Декларация
- Създаване на променлива с тип и име:
int age;. Често се комбинира с инициализация — даване на първа стойност:int age = 20;. - Директория (папка)
- Контейнер за файлове и други директории. В C# се управлява с класа
Directory.
Е
З
- Защитно програмиране
- Предотвратяване вместо лекуване: проверки на входа, TryParse, File.Exists — изключенията остават за неочакваното.
И
- Изключение (Exception)
- Обект-сигнал, че изпълнението не може да продължи нормално. Нехванато — срива програмата.
- Индекс
- Позицията на елемент в колекцията, броена от 0. Последният елемент е на индекс
Length - 1. - Инициализатор
- Съкратен запис за създаване с готови стойности:
int[] a = { 1, 2, 3 };илиnew List<int> { 1, 2, 3 }. - Инкапсулация
- Скриване на вътрешните данни (
private) и достъп само през контролиран интерфейс (свойства, методи). - Интерполация
- Вграждане на стойности в низ чрез
$"... {израз} ..."— изразите в скобите се заместват с резултата си. - Итерация
- Едно изпълнение на тялото на цикъла. "Цикълът направи 5 итерации" = тялото се изпълни 5 пъти.
К
- Клас
- Чертеж/шаблон, който описва данните (полета, свойства) и поведението (методи) на бъдещите обекти.
- Компилация
- Превод на изходния код в изпълнима програма. Компилационните грешки (липсваща
;, грешен тип) спират превода още преди програмата да тръгне. - Композиция
- Влагане на обект като поле — правилният избор при връзка "има" (Колата ИМА двигател).
- Конкатенация
- Слепване на низове с
+или интерполация. За много слепвания в цикъл — StringBuilder. - Константа (const)
- Стойност, която се задава веднъж и не може да се променя:
const double Pi = 3.14159;. - Конструктор
- Специален метод с името на класа и без връщан тип; извиква се автоматично при
newи инициализира обекта.
Л
- Ламбда израз
- Малка анонимна функция:
x => x > 5— "вземи x, такова че x > 5". Лявата страна е параметърът, дясната — изразът. - Лог
- Файл-дневник, в който програмата записва събития и грешки с дата и час — винаги с
AppendAllText.
М
- Масив (Array)
- Наредена редица от елементи от един тип с фиксирана дължина:
int[] nums = new int[5];. - Материализация
- Принудително изпълнение на заявката и запазване на резултата:
.ToList(),.ToArray(). - Метод
- Именуван блок код, който може да се извиква многократно — с входни данни (параметри) и евентуален резултат (return).
- Множество (HashSet)
- Колекция само от уникални стойности — дубликатите при
Addтихо се игнорират. - Мързеливо оценяване
- При
a && b, акоaеfalse,bизобщо не се проверява (резултатът вече е ясен). Аналогично за||приtrue.
Н
- Наследник (derived class)
- Класът, който наследява — получава всичко от базовия и добавя/променя своето.
- Наследяване
- Клас получава полетата, свойствата и методите на друг:
class Student : Person. Връзка "е-вид" (is-a). - Неизменимост (immutability)
- Низът не може да се променя след създаване — всички методи връщат нов низ.
О
- Обект (екземпляр)
- Конкретна реализация на класа в паметта, създадена с
new, със собствени стойности. - Обхват (scope)
- Областта, в която едно име съществува. Променлива, декларирана в метод, живее само в него.
- Опашка (Queue) / Стек (Stack)
- Колекции с ред на обработка: опашката е FIFO (пръв влязъл — пръв излязъл), стекът е LIFO (последен влязъл — пръв излязъл).
- Отложено изпълнение
- LINQ заявката се изпълнява чак при обхождане или при
.ToList()— дотогава е само "рецепта". - Относителен път
- Път спрямо работната папка на програмата:
"data.txt"се търси в bin/Debug на проекта.
П
- Параметър
- Променлива в декларацията на метода:
(int a, int b). Получава стойност при извикване. - Парсване (Parsing)
- Преобразуване на текст в друг тип, най-често число:
int.Parse("20")→20. При невалиден текст хвърляFormatException. - Полиморфизъм
- "Много форми" — едно извикване изпълнява различен код според реалния тип на обекта.
- Предефиниране (overloading)
- Няколко метода с едно име, но различни параметри — компилаторът избира по аргументите.
- Променлива
- Именувано място в паметта, което съхранява стойност от определен тип и може да се променя по време на изпълнение.
Р
- Разклонение
- Точка, в която програмата избира между два или повече пътя на изпълнение (
if-else,switch). - Разпространение (bubbling)
- Нехванатото изключение се "качва" от метод към извикващия го, докато някой не го хване (или програмата не се срине).
- Речник (Dictionary)
- Колекция от двойки ключ → стойност с мигновено търсене по ключ:
Dictionary<string, int>.
С
- Свойство (Property)
- Контролиран публичен достъп до данните с
getиset— мястото за валидация. - Сигнатура
- Името на метода + типовете и редът на параметрите — това, по което компилаторът го разпознава.
- Символ (char)
- Един единствен знак в единични кавички:
'A'. Помощници:char.ToUpper,char.IsDigit. - Списък (List<T>)
- Динамична колекция с променлив размер —
Add,Remove,Contains. Изискваusing System.Collections.Generic;. - Стойност (Value)
- Данните, съхранени срещу ключа. Може да е всякакъв тип, включително списък или обект.
Т
- Тип данни
- Определя какви стойности може да съхранява променливата и какви операции са позволени (
int,double,string,bool,char). - Търсене с флаг
- Шаблон:
bool found = false;преди цикъла, вдигане при намиране, проверка след цикъла — отговаря и на въпроса "а ако го няма?".
У
- Условие
- Израз, който се изчислява до
trueилиfalseи определя кой клон от кода ще се изпълни.
Ф
A
- Auto-property
- Съкратен запис
public double Grade { get; set; }— компилаторът създава скритото поле сам.
B
- base
- Достъп до родителя:
base(...)вика родителския конструктор,base.Method()— родителската версия на метода.
C
- camelCase / PascalCase
- Конвенции за имена:
camelCaseза променливи (studentAge),PascalCaseза класове и методи (CalculateArea).
D
- DRY
- "Don't Repeat Yourself" — повтарящ се код се изнася в метод, за да се променя на едно място.
E
- Escape последователност
- Специален запис в низ:
\nнов ред,\tтабулация,\\черта,\"кавичка.
F
- Fall-through (пропадане)
- Празни
case-ове в switch, които "пропадат" към следващия — така няколко стойности споделят един код. - finally
- Блок, който се изпълнява винаги — при успех и при грешка. Място за почистване на ресурси.
K
L
- LINQ
- Language-Integrated Query — методи за филтриране, сортиране и трансформиране на колекции направо в езика. Изисква
using System.Linq;.
P
S
- Stack trace
- Списъкът от методи до мястото на грешката, с редове — картата за намиране на проблема.
- StringBuilder
- Клас от
System.Textза ефективно сглобяване на дълъг текст:Append+ накраяToString().
T
- throw
- Хвърляне на изключение от наш код:
throw new ArgumentException("...");— начинът класът да защити правилата си. - try / catch
tryогражда рисковия код;catchпоема управлението при грешка от съответния тип.- TryGetValue
- Безопасно четене: връща
true/falseи подава стойността презout— без изключения.
V
- virtual / override
- Двойката, която позволява замяна на метод: базовият разрешава с
virtual, наследникът заменя сoverride.