Професионална програма
Loading...
+ Нов въпрос
bacuty avatar bacuty 55 Точки

:) Колега, може би е удачно sum във втора задача да е decimal :). Аз понеже лихва свързвам с пари laugh и decimal  return type.

Даже съм се чудила дали не би трябвало в такива случаи и лихвата да е decimal?

Само това погледнах понеже малко не мога да се ориентирам в условието.

Поздрави,

Василена

1
08/12/2015 22:14:37
djc_bg2015 avatar djc_bg2015 923 Точки

Здрасти,

Първоначално я написах с десимал, но в последствие не помня заради какво обърнах на дабъл.. (дали  за да не изнасям степенуването в метод а да позлвам вградения на math..)

Иначе благодаря за коментара :)

 

ПС. Май беше заради лихвата, защото тя е логично да е дабъл, а в последствие трябваше да се каства към десимал. И просто избрах да позлвам дабъл :P

0
08/12/2015 22:40:27
bacuty avatar bacuty 55 Точки

Така предположих и аз, че става едно кастване , ама да му мислят тия с много нули в банките :).

0
moholovka avatar moholovka 169 Точки

Правилно е да се изполва decimal за пари, защото при превъртане на макс/мин стойност хвърля ексепшън и се застраховаме от грешни резултати, което при работа с пари е важно :) 

0
mbeleva88 avatar mbeleva88 69 Точки

Здравейте,

някой дали ще може да обясни решението на 4-та задача. Като цяло тези event-и не ми станаха ясни.

Благодаря предварително!

0
djc_bg2015 avatar djc_bg2015 923 Точки

Здравей,

ето какво предствлява моето решение:

Имаме клас Student в него си правим EventHandler с име: PropertyChangedEventHandler (делегат, който сочи към войд методи приемащи два параметъра: обект и евент аргументи) 

След това правим нов Event от тип PropertyChangedEventHandler.

Отделно от този клас си правим нов клас: PropertyChangedEventArgs : EventArgs, класа PropertyChangedEventArgs ще съдържа информацията за събитието, което се е случило.

В мейна си правим студент, и метод EventChanges, който приема 2 параметъра: обект и евент аргументи от тип PropertyChangedEventArgs. Закачаме метода за OnPropertyChange евента на класа Student и започваме да променяме инфото на студента.

Обратно в Student класа, вътре в сетърите на името и годините (когато променяме нещо по студента) извикваме метода IsChnaged. Той проверява дали има закачени слушачи за евента, и ако има изпълнява евнта, който създадохме по - рано, а той от своя страна подава аргументите които са подадени на него на своите слушачи.

Не съм мн уверен че ще ме разбереш, май стана объркващо, но ...

Поздрави!

 

ПС. Нека някой ме поправи, ако нещо съм обяснил погрешно.

2
10/12/2015 09:31:55
mbeleva88 avatar mbeleva88 69 Точки

Много ти благодаря! Долу горе си го обясних.

А защо не изполваш object, вместо dynamic. Доколкото разбрах dynamic e много лошо нещо и не ни препоръчват да го ползваме :)

0
djc_bg2015 avatar djc_bg2015 923 Точки

Ами ползвал съм динамик за да може метода да работи с всякви типове които му подам. :)

EDIT: каква ще е разликата ако позлвам object?

0
10/12/2015 23:45:35
kidroca avatar kidroca 117 Точки

Ето едно домашно и от мен - има шарени работи :)

Без факториели.

Внимание: съдържа глутен.

1
12/12/2015 12:09:49
flashestswag avatar flashestswag 66 Точки

djc_bg2015 :

03.AsynchronousTimer/AsyncTimer.cs

Това:
        private void Execute()
        {
            for (int i = 0; i < this.ticks; i++)
            {
                Thread.Sleep(this.Interval);
                Console.WriteLine(this.Message);
            }
        }

Трябва да е така:
        private void Execute()
        {
            for (int i = 0; i < this.ticks; i++)
            {
                Thread.Sleep(this.Interval);
                this.Action(this.Message);
            }
        }

 

Поздрави :) И благодаря, че качваш решенията си, доста научавам от теб, не само от теб де, но ако не беше ти, доста задачи сигурно нямаше, да мога да ги реша, а и се научавам на добри практики от теб :) Да не говорим, колко задачи съм ги решавал в последния момент и то с твоя помощ, че не е имало време да ги мисля сам =)

 

2
14/12/2015 21:37:39
manito_17711 avatar manito_17711 43 Точки

GitHub

За трета задача само аз ли съм използвал System.Timers... или съм пропуснал нещо от условието...

Поздрави

0