. Стиллмен, Дж. Грин - Изучаем C#, 2-е издание
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Г<br />
в руку карандаш<br />
объ<strong>е</strong>кты, по порядку стройся!<br />
Попробуйт<strong>е</strong> всл<strong>е</strong>д за Майком написать код для объ<strong>е</strong>ктов<br />
N a v ig a to r И вызова ИХ м<strong>е</strong>тодов.<br />
s t r i n g d e s t i n a t i o n = t e x t B o x l . T e x t ;<br />
s t r i n g r o u t e 2 S t r e e t T o A v o i d = t e x t B o x 2 . T e x t ;<br />
s t r i n g r o u t e 3 S t r e e t T o I n c l u d e = t e x t B o x 3 . T e x t ;<br />
N a v ig a to r n a v i g a t o r l = new N a v i g a t o r () ;<br />
n a v i g a t o r l . S e t D e s t i n a t i o n ( d e s t i n a t i o n ) ;<br />
i n t d i s t a n c e l = n a v i g a t o r l . T o t a l D i s t a n c e {);<br />
Зд<strong>е</strong>сь Майк задавал пункт<br />
назнач<strong>е</strong>ния и улицы,<br />
которых сл<strong>е</strong>ду<strong>е</strong>т изб<strong>е</strong>гать.<br />
А зд<strong>е</strong>сь MW созда<strong>е</strong>м объ<strong>е</strong>кт<br />
n a v i g a to r , указыва<strong>е</strong>м п у н к т<br />
назнач<strong>е</strong>ния и опр<strong>е</strong>д<strong>е</strong>ля<strong>е</strong>м<br />
расстояни<strong>е</strong>.<br />
. Создайт<strong>е</strong> объ<strong>е</strong>кт navigator2, укажит<strong>е</strong> пункт назнач<strong>е</strong>ния, вызовит<strong>е</strong> м<strong>е</strong>тод ModifyRouteToAvoidO,'^<br />
а зат<strong>е</strong>м воспользуйт<strong>е</strong>сь м<strong>е</strong>тодом TotalDistanceO для вычисл<strong>е</strong>ния п<strong>е</strong>р<strong>е</strong>м<strong>е</strong>нной distance2.<br />
Navigator navigator2 =<br />
navigator2.<br />
navigator2.<br />
int distance2 =<br />
^2.CoздaйтeoбъeктnavigatorЗ,yкaжитeпyнктнaзнaчeния,вызoвитeмeтoд^ЯodifyRouteToincludeO,~*<br />
a зат<strong>е</strong>м воспользуйт<strong>е</strong>сь м<strong>е</strong>тодом TotalDistanceO ДЛЯ вычисл<strong>е</strong>ния ц<strong>е</strong>лой п<strong>е</strong>р<strong>е</strong>м<strong>е</strong>нной distances.<br />
L<br />
_<br />
Встро<strong>е</strong>нный в .NET Framework м<strong>е</strong>тод Math.MmQ<br />
сравнива<strong>е</strong>т два числа и возвраща<strong>е</strong>т м<strong>е</strong>ньш<strong>е</strong><strong>е</strong>. Им<strong>е</strong>нно<br />
с <strong>е</strong>го помощью Майк наш<strong>е</strong>л самый короткий путь.<br />
i n t s h o r t e s t D is t a n c e = M a t h .M in ( d is t a n c e l, M a t h .M in ( d is t a n c e s , d i s t a n c e s ) ) ;<br />
дальш<strong>е</strong> > 127