[OOP] Defining Classes Part Two - Задача 8,9,10


8

 

Колеги отварям тема свързана с класа Маtrix 
 
7. Define a class Matrix<T> to hold a matrix of numbers (e.g. integers, floats, decimals).
 
8. Implement an indexer this[row, col] to access the inner matrix cells.
 
9. Implement the operators + and - (addition and subtraction of matrices of the same size) and * for matrix multiplication. Throw an exception when the operation cannot be performed. Implement the true operator (check for non-zero elements).
 
Моят въпрос е свързан с 9 задача. Как мога да извадя два елемента от тип T ?
Прочетох в интернет, че T не поддържа операторите +, -, /, *. Eдинственото което ми хрумна е да ги кастна към (dynamic), но не мисля че това е правилния подход. 

в C# OOP от Божидар Пенчев (0 точки)


Отговори



0

Имам въпрос. Виждам, че навсякъде при generic-ците се използва. Не мога да схвана логиката на:

public T this[int index]

{

get
{
if (index >= count)
{
throw new IndexOutOfRangeException(String.Format(
"Invalid index: {0}.", index));
}
T result = elements[index];
return result;
}
}
 
Това е от демото към лекцията. Като съответно има и решения и със set-ъри. Не схващам property на какво е това?

от prestress (213 точки)


0
Това е индексатора

от lnxslackware (416 точки)

0
виждам, че проверява индекса, но синтаксиса ме обърква

от prestress (213 точки)



0
Здравейте,
Не съм изчел всички постове, но видях на 1-2 места въпроси може ли да се избегне ползването на типа dynamic. Това е моят клас Matrix, където не ползвам dynamic. Mетодите за +, - * работят. Метода true не е довършен.
http://pastebin.com/4UuxtTwe