<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Программирование на Си - C-sharp &#187; Console</title>
	<atom:link href="http://www.c-help.net/tag/console/feed" rel="self" type="application/rss+xml" />
	<link>http://www.c-help.net</link>
	<description></description>
	<lastBuildDate>Fri, 20 Jun 2008 19:02:22 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Ограниченная универсальность</title>
		<link>http://www.c-help.net/179.html</link>
		<comments>http://www.c-help.net/179.html#comments</comments>
		<pubDate>Fri, 20 Jun 2008 18:49:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Учебник]]></category>
		<category><![CDATA[Class]]></category>
		<category><![CDATA[Console]]></category>
		<category><![CDATA[findstart]]></category>
		<category><![CDATA[IComparable]]></category>
		<category><![CDATA[INumeric]]></category>
		<category><![CDATA[OneLinkList]]></category>
		<category><![CDATA[PrintPerson]]></category>
		<category><![CDATA[sum]]></category>
		<category><![CDATA[T Sub]]></category>
		<category><![CDATA[WriteLine]]></category>

		<guid isPermaLink="false">http://www.c-help.net/?p=179</guid>
		<description><![CDATA[





Ограниченная универсальность
Хорошо, когда есть свобода. Еще лучше, когда свобода ограничена. Аналогичная ситуация имеет место и с универсальностью. Универсальность следует ограничивать. На типы универсального класса, являющиеся его параметрами, следует накладывать ограничения. Звучит парадоксально, но, наложив ограничения на типы, программист получает гораздо большую свободу в работе с объектами этих типов.
Если немного подумать, то это совершенно естественная ситуация. [...]]]></description>
		<wfw:commentRss>http://www.c-help.net/179.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Наследование и универсальность</title>
		<link>http://www.c-help.net/178.html</link>
		<comments>http://www.c-help.net/178.html#comments</comments>
		<pubDate>Fri, 20 Jun 2008 18:48:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Учебник]]></category>
		<category><![CDATA[Class]]></category>
		<category><![CDATA[Console]]></category>
		<category><![CDATA[GenStack]]></category>
		<category><![CDATA[item]]></category>
		<category><![CDATA[LIFO]]></category>
		<category><![CDATA[name]]></category>
		<category><![CDATA[param]]></category>
		<category><![CDATA[Person]]></category>
		<category><![CDATA[PrintPerson]]></category>
		<category><![CDATA[summary]]></category>
		<category><![CDATA[WriteLine]]></category>

		<guid isPermaLink="false">http://www.c-help.net/178.html</guid>
		<description><![CDATA[





Наследование и универсальность
Необходимость в универсализации возникает с первых шагов программирования. Одна из первых процедур, появляющихся при обучении программированию &#8211; это процедура свопинга:обмен значениями двух переменных одного типа. Выглядит она примерно так:
public void Swap(ref T x1, ref T x2)
{
 T temp;
 temp = x1; x1 = x2; x2 = temp;
}
Если тип T &#8211; это вполне определенный [...]]]></description>
		<wfw:commentRss>http://www.c-help.net/178.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Классы с большим числом событий</title>
		<link>http://www.c-help.net/176.html</link>
		<comments>http://www.c-help.net/176.html#comments</comments>
		<pubDate>Fri, 20 Jun 2008 18:46:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Учебник]]></category>
		<category><![CDATA[Console]]></category>
		<category><![CDATA[EventArgs]]></category>
		<category><![CDATA[EventHandler]]></category>
		<category><![CDATA[OnConnect]]></category>
		<category><![CDATA[ReceiverEvs]]></category>
		<category><![CDATA[Remove]]></category>
		<category><![CDATA[Simulate]]></category>
		<category><![CDATA[SimulateEvs]]></category>
		<category><![CDATA[TestManyEvents]]></category>
		<category><![CDATA[value]]></category>
		<category><![CDATA[WriteLine]]></category>

		<guid isPermaLink="false">http://www.c-help.net/?p=176</guid>
		<description><![CDATA[





Классы с большим числом событий
Как было сказано, каждое событие класса представляется полем этого класса. Если у класса много объявленных событий, а реально возникает лишь малая часть из них, то предпочтительнее динамический подход, когда память отводится только фактически возникшим событиям. Это несколько замедляет время выполнения, но экономит память. Решение зависит от того, что в данном контексте [...]]]></description>
		<wfw:commentRss>http://www.c-help.net/176.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Пример &#8220;Списки с событиями&#8221;</title>
		<link>http://www.c-help.net/174.html</link>
		<comments>http://www.c-help.net/174.html#comments</comments>
		<pubDate>Fri, 20 Jun 2008 18:44:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Учебник]]></category>
		<category><![CDATA[base]]></category>
		<category><![CDATA[ChangedEventArgs]]></category>
		<category><![CDATA[Class]]></category>
		<category><![CDATA[Clear]]></category>
		<category><![CDATA[Console]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[index]]></category>
		<category><![CDATA[int]]></category>
		<category><![CDATA[ListWithChangedEvent]]></category>
		<category><![CDATA[OnChanged]]></category>
		<category><![CDATA[Override]]></category>
		<category><![CDATA[permit]]></category>
		<category><![CDATA[return]]></category>
		<category><![CDATA[sender]]></category>

		<guid isPermaLink="false">http://www.c-help.net/?p=174</guid>
		<description><![CDATA[





Пример &#8220;Списки с событиями&#8221;
В этом примере строится класс ListWithChangedEvent, являющийся потомком встроенного класса ArrayList, который позволяет работать со списками. В класс добавляется событие Changed, сигнализирующее обо всех изменениях элементов списка. Строятся два класса &#8211; Receiver1 и Receiver2, получающие сообщения. В примере рассматривается взаимодействие нескольких объектов: два объекта посылают сообщения, три &#8211; принимают.
Начнем с объявления делегата:
// [...]]]></description>
		<wfw:commentRss>http://www.c-help.net/174.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как определяется функциональный тип и как появляются его экземпляры</title>
		<link>http://www.c-help.net/167.html</link>
		<comments>http://www.c-help.net/167.html#comments</comments>
		<pubDate>Fri, 20 Jun 2008 18:37:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Учебник]]></category>
		<category><![CDATA[Account]]></category>
		<category><![CDATA[Console]]></category>
		<category><![CDATA[delegate]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[namespace]]></category>
		<category><![CDATA[Person]]></category>
		<category><![CDATA[Plus]]></category>
		<category><![CDATA[Proc]]></category>
		<category><![CDATA[TestOwnDel]]></category>
		<category><![CDATA[void]]></category>
		<category><![CDATA[WriteLine]]></category>

		<guid isPermaLink="false">http://www.c-help.net/?p=167</guid>
		<description><![CDATA[





Как определяется функциональный тип и как появляются его экземпляры
Слово делегат (delegate) используется в C# для обозначения хорошо известного понятия. Делегат задает определение функционального типа (класса) данных. Экземплярами класса являются функции. Описание делегата в языке C# представляет собой описание еще одного частного случая класса. Каждый делегат описывает множество функций с заданной сигнатурой. Каждая функция (метод), сигнатура [...]]]></description>
		<wfw:commentRss>http://www.c-help.net/167.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Отношения между классами</title>
		<link>http://www.c-help.net/164.html</link>
		<comments>http://www.c-help.net/164.html#comments</comments>
		<pubDate>Fri, 20 Jun 2008 18:32:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Учебник]]></category>
		<category><![CDATA[abstract]]></category>
		<category><![CDATA[Analysis]]></category>
		<category><![CDATA[Console]]></category>
		<category><![CDATA[debet]]></category>
		<category><![CDATA[Derived]]></category>
		<category><![CDATA[DerivedMethod]]></category>
		<category><![CDATA[Found]]></category>
		<category><![CDATA[name]]></category>
		<category><![CDATA[new]]></category>
		<category><![CDATA[protected]]></category>
		<category><![CDATA[WriteLine]]></category>

		<guid isPermaLink="false">http://www.c-help.net/?p=164</guid>
		<description><![CDATA[





]]></description>
		<wfw:commentRss>http://www.c-help.net/164.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Перечисления</title>
		<link>http://www.c-help.net/163.html</link>
		<comments>http://www.c-help.net/163.html#comments</comments>
		<pubDate>Fri, 20 Jun 2008 18:30:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Учебник]]></category>
		<category><![CDATA[businessman]]></category>
		<category><![CDATA[Console]]></category>
		<category><![CDATA[man]]></category>
		<category><![CDATA[MyColors]]></category>
		<category><![CDATA[Profession]]></category>
		<category><![CDATA[Rainbow]]></category>
		<category><![CDATA[Sex]]></category>
		<category><![CDATA[ToString]]></category>
		<category><![CDATA[Tue]]></category>
		<category><![CDATA[TwoColors]]></category>
		<category><![CDATA[void]]></category>
		<category><![CDATA[Wed]]></category>
		<category><![CDATA[woman]]></category>
		<category><![CDATA[WriteLine]]></category>

		<guid isPermaLink="false">http://www.c-help.net/?p=163</guid>
		<description><![CDATA[





Перечисления
Перечисление &#8211; это частный случай класса, класс, заданный без собственных методов. Перечисление задает конечное множество возможных значений, которые могут получать объекты класса перечисление. Поскольку у перечислений нет собственных методов, то синтаксис объявления этого класса упрощается &#8211; остается обычный заголовок и тело класса, содержащее список возможных значений. Вот формальное определение синтаксиса перечислений:
[атрибуты][модификаторы]enum имя_перечисления[:базовый класс]
{список_возможных_значений}
Описание атрибутов отложим [...]]]></description>
		<wfw:commentRss>http://www.c-help.net/163.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Проектирование класса Rational</title>
		<link>http://www.c-help.net/160.html</link>
		<comments>http://www.c-help.net/160.html#comments</comments>
		<pubDate>Fri, 20 Jun 2008 18:28:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Учебник]]></category>
		<category><![CDATA[Abs]]></category>
		<category><![CDATA[Console]]></category>
		<category><![CDATA[Minus]]></category>
		<category><![CDATA[Mult]]></category>
		<category><![CDATA[operator]]></category>
		<category><![CDATA[param]]></category>
		<category><![CDATA[Plus]]></category>
		<category><![CDATA[PrintRational]]></category>
		<category><![CDATA[return]]></category>
		<category><![CDATA[string]]></category>
		<category><![CDATA[summary]]></category>
		<category><![CDATA[TestCreateRational]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[TestOperRational]]></category>
		<category><![CDATA[TestPlusRational]]></category>

		<guid isPermaLink="false">http://www.c-help.net/?p=160</guid>
		<description><![CDATA[





Проектирование класса Rational
В заключение этой лекции займемся проектированием класса Rational, описывающего известный в математике тип данных &#8211; рациональные числа. По ходу проектирования будут вводиться новые детали, связанные с описанием класса. Начнем проектирование, как обычно, с задания тега &#60;summary&#62;, описывающего назначение класса, его свойства и поведение. Вот этот текст:
/// &#60;summary&#62;
/// Класс Rational 
/// определяет новый тип [...]]]></description>
		<wfw:commentRss>http://www.c-help.net/160.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Синтаксис класса</title>
		<link>http://www.c-help.net/159.html</link>
		<comments>http://www.c-help.net/159.html#comments</comments>
		<pubDate>Fri, 20 Jun 2008 18:27:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Учебник]]></category>
		<category><![CDATA[Child]]></category>
		<category><![CDATA[Console]]></category>
		<category><![CDATA[const]]></category>
		<category><![CDATA[Fam]]></category>
		<category><![CDATA[message]]></category>
		<category><![CDATA[name]]></category>
		<category><![CDATA[Rational]]></category>
		<category><![CDATA[return]]></category>
		<category><![CDATA[status]]></category>
		<category><![CDATA[summary]]></category>
		<category><![CDATA[TestPersonChildren]]></category>
		<category><![CDATA[TestPersonProps]]></category>
		<category><![CDATA[void]]></category>
		<category><![CDATA[Write-only]]></category>

		<guid isPermaLink="false">http://www.c-help.net/?p=159</guid>
		<description><![CDATA[





Синтаксис класса
Ни одна из предыдущих лекций не обходилась без появления классов и обсуждения многих деталей, связанных с ними. Сейчас попробуем сделать некоторые уточнения, подвести итоги и с новых позиций взглянуть на уже знакомые вещи. Начнем с синтаксиса описания класса:
[атрибуты][модификаторы]class имя_класса[:список_родителей]
{тело_класса}
Атрибутам будет посвящена отдельная лекция. Возможными модификаторами в объявлении класса могут быть модификаторы new, abstract, sealed, [...]]]></description>
		<wfw:commentRss>http://www.c-help.net/159.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Пространство имен RegularExpression и классы регулярных выражений</title>
		<link>http://www.c-help.net/157.html</link>
		<comments>http://www.c-help.net/157.html#comments</comments>
		<pubDate>Fri, 20 Jun 2008 18:25:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Новости]]></category>
		<category><![CDATA[Capture]]></category>
		<category><![CDATA[Compiled]]></category>
		<category><![CDATA[Console]]></category>
		<category><![CDATA[escape]]></category>
		<category><![CDATA[fabadddbdf]]></category>
		<category><![CDATA[FindMatch]]></category>
		<category><![CDATA[Length]]></category>
		<category><![CDATA[patstr]]></category>
		<category><![CDATA[Regex]]></category>
		<category><![CDATA[RegexCompilationInfo]]></category>
		<category><![CDATA[RegexOptions]]></category>
		<category><![CDATA[RegularExpressions]]></category>
		<category><![CDATA[return]]></category>
		<category><![CDATA[start]]></category>
		<category><![CDATA[strpat]]></category>
		<category><![CDATA[Success]]></category>
		<category><![CDATA[TestSinglePat]]></category>
		<category><![CDATA[Text]]></category>
		<category><![CDATA[Unicode]]></category>
		<category><![CDATA[WriteLine]]></category>

		<guid isPermaLink="false">http://www.c-help.net/?p=157</guid>
		<description><![CDATA[





]]></description>
		<wfw:commentRss>http://www.c-help.net/157.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

