<?xml version='1.0' encoding='utf-8' ?>
<!--  If you are running a bot please visit this policy page outlining rules you must respect. http://lj.rossia.org/bots/  -->
<rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/'>
<channel>
  <title>C#, .NET, начинающим и не только</title>
  <link>http://lj.rossia.org/community/csharp_dotnet/</link>
  <description>C#, .NET, начинающим и не только - LJ.Rossia.org</description>
  <managingEditor>C#, .NET, начинающим и не только</managingEditor>
  <lastBuildDate>Sat, 18 May 2024 19:13:41 GMT</lastBuildDate>
  <generator>LiveJournal / LJ.Rossia.org</generator>
<item>
  <guid isPermaLink='true'>http://lj.rossia.org/community/csharp_dotnet/4295.html</guid>
  <pubDate>Sat, 18 May 2024 19:13:41 GMT</pubDate>
  <title>Све́жий шеде́вр</title>
  <link>http://lj.rossia.org/community/csharp_dotnet/4295.html</link>
  <description>Мой тяжкий крест — квадрата потное ебло́.&lt;br /&gt;Мне с авито́ звонят́ и я кричу &quot;Алло́!&lt;br /&gt;Вы кто́. О сы́чек о́мся ня ну всё пизде́й&lt;br /&gt;Мой ли́ндус здох пора́ пожра́ть пуэ́р оке́й&quot;.&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/community/csharp_dotnet/4295.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/csharp_dotnet/4295&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</description>
  <comments>http://lj.rossia.org/community/csharp_dotnet/4295.html</comments>
</item>
<item>
  <guid isPermaLink='true'>http://lj.rossia.org/community/csharp_dotnet/3742.html</guid>
  <pubDate>Mon, 27 Mar 2017 23:04:21 GMT</pubDate>
  <title>C#. Генерация строки из случайных символов.</title>
  <link>http://lj.rossia.org/community/csharp_dotnet/3742.html</link>
  <description>&lt;b&gt;&lt;center&gt;Задача&lt;/center&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Сгенерировать строку, состоящую из случайных символов. Немного дополним задачу, строка будет состоять из случайных символов, а сами символы будут взяты из заранее заданного определенного набора. Например, строчные и заглавные латинские буквы, цифры, знаки препинания или любые другие заданные символы в любой комбинации.&lt;br /&gt;Такая штуковина вполне может пригодиться для генерации, например, пароля из заданного набора символов&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;center&gt;Решение&lt;/center&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Делается это довольно просто. Поручим формирование строки отдельной функции.&lt;br /&gt;Во входных параметрах передадим ей строку, содержащую набор символов, из которых будет сформирована выходная случайная строка (параметр &lt;code&gt;Alphabet&lt;/code&gt;) и длину генерируемой строки (параметр &lt;code&gt;Length&lt;/code&gt;)&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;pre&gt;string GenRandomString(string Alphabet, int Length)
{
	...
}&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Внутри функции.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;//создаем объект Random, генерирующий случайные числа&lt;br /&gt;Random rnd = new Random(); &lt;br /&gt;//объект StringBuilder с заранее заданным размером буфера под результирующую строку&lt;br /&gt;StringBuilder sb = new StringBuilder(Length-1);&lt;br /&gt;//переменную для хранения случайной позиции символа из строки Alphabet&lt;br /&gt;int Position = 0; &lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Далее в цикле генерируем случайную строку:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;pre&gt;for (int i = 0; i &amp;lt; Length; i++)
            {
                //получаем случайное число от 0 до последнего
                //символа в строке Alphabet
                Position = rnd.Next(0, Alphabet.Length-1);
                //добавляем выбранный символ в объект
                //StringBuilder
                sb.Append(Alphabet[Position]);                
            }&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Возвращаем сгенерированную строку:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;return sb.ToString();&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href=&quot;http://pastebin.com/YXvJQbsu&quot; target=&quot;_blank&quot;&gt;Код функции на PasteBin&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;b&gt;Пример использования функции&lt;/b&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;txtReturn.Text = GenRandomString(&quot;QWERTYUIOPASDFGHJKLZXCV&lt;wbr /&gt;BNMqwertyuiopasdfghjklzxcvbnm&quot;, 10);&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;возвращает строку случайных символов длиной 10 знаков, состоящую из заглавных и строчных букв английского алфавита.&lt;br /&gt;&lt;br /&gt;&lt;lj-cut text=&quot;Немного об оптимизации&quot;&gt;&lt;br /&gt;&lt;b&gt;&lt;center&gt;Немного об оптимизации&lt;/center&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Или почему стоит использовать &lt;code&gt;StringBuilder&lt;/code&gt; вместо подобной довольно обычной конструкции.&lt;br /&gt;Перед циклом заводим строковую переменную:&lt;br /&gt;&lt;code&gt;string Ret = &quot;&quot;;&lt;/code&gt;&lt;br /&gt;В цикле используем &lt;code&gt;Ret = Ret + Alphabet[Position];&lt;/code&gt; вместо &lt;code&gt;sb.Append(Alphabet[Position]);&lt;/code&gt;&lt;br /&gt;И в итоге возвращаем значение &lt;code&gt;return Ret;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Да потому что, в данном конкретном случае, использование &lt;code&gt;StringBuilder&lt;/code&gt; дает реальный выигрыш в скорости:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Проблема конкатенации большого массива строк, при которой результирующая строка очень быстро и сильно растёт, очень реальна, и совет использовать StringBuilder для конкатенации очень правильный.&lt;br /&gt;[...]&lt;br /&gt;На самом деле выражение x += &quot;!&quot;; абсолютно эквивалентно выражению x = x+&quot;!&quot;;. Здесь конкатенация — это создание полностью новой строки, для которой выделяется нужный объём памяти, в который копируется содержимое существующего значения x, а потом копируется содержимое конкатенируемой строки. По мере того, как результирующая строка растёт, возрастает и количество данных, которые всё время копируются туда-сюда [...]&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Подробности о том, когда следует использовать объект StringBuilder, а когда достаточно (и даже лучше) использовать конструкции вида &lt;code&gt;x += y&lt;/code&gt; или &lt;code&gt;x = x+y&lt;/code&gt; (&lt;code&gt;x&lt;/code&gt; и &lt;code&gt;y&lt;/code&gt;, естетственно, строковые или символьные переменные) замечательно изложены в статье &lt;b&gt;&lt;a href=&quot;https://habrahabr.ru/post/166701/&quot; target=&quot;_blank&quot;&gt;Эффективная конкатенация строк в .NET&lt;/a&gt;&lt;/b&gt; &lt;b&gt;&lt;a href=&quot;https://mega.nz/#!IIN2HIaR!k9rQAR7lOIHrxMK6JktU3SnREJzGoXhxnzCRvyrlTmY&quot; target=&quot;_blank&quot;&gt;[Копия]&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Специально примера для я даже заморочился и сделал сравнительную таблицу&lt;br /&gt;Метод вычисления времени выполнения взял такой же, как в статье.&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;img src=&quot;http://i.imgur.com/E0d3C82.png&quot;&gt;&lt;/center&gt;&lt;br /&gt;&lt;b&gt;&lt;a href=&quot;https://mega.nz/#!gJNUjTKC!tpcE8LI_2haGA937i9lDL358EdX1741vwfDGYVfPPcE&quot; target=&quot;_blank&quot;&gt;PDF&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href=&quot;http://pastebin.com/F38jQNv4&quot; target=&quot;_blank&quot;&gt;Код формы тестового приложения на PasteBin&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;a href=&quot;https://mega.nz/#!oM0CkZaK!bASqegQgPEkO5Z08AxLGOfkUk7Cd58lsVu2yvxZzWIE&quot; target=&quot;_blank&quot;&gt;Скачать тестовое приложение с Mega.nz&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;img src=&quot;http://i.imgur.com/FJ4j7ue.png&quot;&gt;&lt;br /&gt;&lt;i&gt;Скриншот тестового приложения&lt;/i&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href=&quot;https://mega.nz/#!dJkl1QwL!g_b4x_kfneKEf2Y6Ga5nRvFeD5Lea4qoCSYdv-XvbWg&quot; target=&quot;_blank&quot;&gt;Заметка в PDF&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Это репост заметки из моего блога на сайте &lt;b&gt;&lt;a href=&quot;http://tolik-punkoff.com&quot; target=&quot;_blank&quot;&gt;http://tolik-punkoff.com&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;Оригинал заметки находится здесь: &lt;b&gt;&lt;a href=&quot;http://tolik-punkoff.com/2017/03/27/csharp-generatsiya-stroki-iz-sluchajnyh-simvolov/&quot; target=&quot;_blank&quot;&gt;http://tolik-punkoff.com/2017/03/27/csha&lt;wbr /&gt;rp-generatsiya-stroki-iz-sluchajnyh-simv&lt;wbr /&gt;olov/&lt;/a&gt;&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/community/csharp_dotnet/3742.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/csharp_dotnet/3742&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</description>
  <comments>http://lj.rossia.org/community/csharp_dotnet/3742.html</comments>
  <category>random</category>
  <category>случайные числа</category>
  <category>строки</category>
  <category>числа</category>
</item>
<item>
  <guid isPermaLink='true'>http://lj.rossia.org/community/csharp_dotnet/3111.html</guid>
  <pubDate>Tue, 05 Apr 2016 21:26:25 GMT</pubDate>
  <title>Ввод только чисел в текстовое поле</title>
  <link>http://lj.rossia.org/community/csharp_dotnet/3111.html</link>
  <description>&lt;code&gt;&lt;pre&gt;
private void txtNumberField_KeyPress(object sender, KeyPressEventArgs e)
        {
            //ввод только цифр
            if (!(Char.IsDigit(e.KeyChar)))
            {
                if (e.KeyChar != (char)Keys.Back)
                {
                    e.Handled = true;
                }
            }            
        }
&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/community/csharp_dotnet/3111.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/csharp_dotnet/3111&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</description>
  <comments>http://lj.rossia.org/community/csharp_dotnet/3111.html</comments>
  <category>ввод данных</category>
  <category>формы</category>
  <category>числа</category>
</item>
<item>
  <guid isPermaLink='true'>http://lj.rossia.org/community/csharp_dotnet/2967.html</guid>
  <pubDate>Fri, 11 Apr 2014 01:37:30 GMT</pubDate>
  <title>Класс для работы с диапазонами чисел.</title>
  <link>http://lj.rossia.org/community/csharp_dotnet/2967.html</link>
  <description>Точнее, написать надо было класс, который сможет проанализировать строку, где через запятую перечислены числовые значения, как одиночные, так и заданные отрезками: &lt;i&gt;НачальноеЧисло&lt;/i&gt;-&lt;i&gt;КонечноеЧисло&lt;/i&gt;.&lt;br /&gt;&lt;i&gt;НачальноеЧисло&lt;/i&gt; должно быть меньше &lt;i&gt;КонечноеЧисло&lt;/i&gt;.&lt;br /&gt;Например: 1, 114, 21-30. И в дальнейшем показать, входит ли заданное значение в ранее установленный диапазон. Но заодно уж добавил и остальные функции. Строки такие, например, встречаются в окне печати Word (номера страниц)&lt;br /&gt;&lt;br /&gt;Свойства класса:&lt;br /&gt;bool AllowRepeats - В случае истинности значения AllowRepeats в диапазоне разрешены повторы значений.&lt;br /&gt;2 конструктора - 1 создает класс с AllowRepeats==true, 2 позволяет задать AllowRepeats&lt;br /&gt;Методы:&lt;br /&gt;AddInDiapason (long Value) - Добавляет в диапазон значение Value&lt;br /&gt;AddInDiapason(long StartValue, long EndValue) - Добавляет в диапазон значения, начиная со StartValue и заканчивая EndValue включительно&lt;br /&gt;AddFromString(string DiapasonString) - добавляет в диапазон значения из вышеописанной строки, если не получилось возвращает false.&lt;br /&gt;Clear() - Очищает значения диапазона&lt;br /&gt;InDiapasonCount(long Value) - Возвращает, сколько раз встречается значение Value в диапазоне.&lt;br /&gt;SortDiapason(SortOrder Order) - Сортирует диапазон по возрастанию или убыванию в зависимости от заданного параметра Order&lt;br /&gt;SortOrder описана как:&lt;br /&gt;&lt;code&gt;&lt;pre&gt;public enum SortOrder
        {
            byAscending = 0,
            byDescending = 1
        }&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;ToArray() - Возвращает массив, содержащий значения диапазона.&lt;br /&gt;InDiapason(long Value) - Проверяет, входит ли значение Value в диапазон (возвращает true или false)&lt;br /&gt;GetIndexes(long Value) - Получает индексы элементов, равных значению Value&lt;br /&gt;RemoveAt(int Index) - Удаляет элемент с индексом Index, генерирует исключение если индекс вне диапазона.&lt;br /&gt;Remove(long Value) - Удаляет из диапазона все значения Value&lt;br /&gt;Remove(long StartValue, long EndValue) - Удаляет из диапазона все значения, начиная со StartValue и заканчивая EndValue&lt;br /&gt;RemoveInDiapason(string DiapasonString) - Удаляет из диапазона все значения, заданные строкой DiapasonString&lt;br /&gt;GetValue(int Index) - Возвращает значение элемента с индексом Index&lt;br /&gt;SetValue(int Index, long Value) - Устанавливает элементу с индексом Index значение Value&lt;br /&gt;ReplaceValue(long OldValue, long NewValue) - Заменяет в диапазоне значения равные OldValue на значения NewValue&lt;br /&gt;MaxValue(out long Value) - Возвращает максимальное значение элемента диапазона в переменную Value. Возвращает false в случае, если диапазон не заполнен значениями.&lt;br /&gt;MinValue(out long Value) - Возвращает минимальное значение элемента диапазона в переменную Value. Возвращает false в случае, если диапазон не заполнен значениями.&lt;br /&gt;&lt;b&gt;&lt;a href=&quot;http://yadi.sk/d/YOH70ojrMDhNw&quot; target=&quot;_blank&quot;&gt;Скачать исходник класса&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;a href=&quot;http://yadi.sk/d/3-IKHrinMDhWj&quot; target=&quot;_blank&quot;&gt;Скачать демо&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/community/csharp_dotnet/2967.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/csharp_dotnet/2967&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</description>
  <comments>http://lj.rossia.org/community/csharp_dotnet/2967.html</comments>
  <category>исходники</category>
  <category>строки</category>
  <category>числа</category>
</item>
<item>
  <guid isPermaLink='true'>http://lj.rossia.org/community/csharp_dotnet/2753.html</guid>
  <pubDate>Wed, 02 Apr 2014 13:17:08 GMT</pubDate>
  <title>Калькулятор регулярных выражений</title>
  <link>http://lj.rossia.org/community/csharp_dotnet/2753.html</link>
  <description>Накодилось тут, случайно, походу другого проекта.&lt;br /&gt;&lt;br /&gt;-можно ввести регулярное выражение, паттерн, и строку замены &lt;b&gt;&lt;a href=&quot;http://msdn.microsoft.com/ru-ru/library/system.text.regularexpressions.match.result%28v=vs.110%29.aspx&quot; target=&quot;_blank&quot;&gt;Match.Result&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;- ищет все совпадения в паттерне и выдает их и результат работы Match.Result&lt;br /&gt;- умеет замену (&lt;b&gt;&lt;a href=&quot;http://msdn.microsoft.com/ru-ru/library/xwewhkd1%28v=vs.110%29.aspx&quot; target=&quot;_blank&quot;&gt;Regex.Replace&lt;/a&gt;&lt;/b&gt;)&lt;br /&gt;-умеет &lt;b&gt;&lt;a href=&quot;http://msdn.microsoft.com/ru-ru/library/system.text.regularexpressions.regex.ismatch%28v=vs.110%29.aspx&quot; target=&quot;_blank&quot;&gt;IsMatch&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;-умеет сохранять данные в файл и загружать их.&lt;br /&gt;&lt;br /&gt;Visual Studio 2008&lt;br /&gt;.NET Framework 2.0&lt;br /&gt;&lt;b&gt;&lt;a href=&quot;http://yadi.sk/d/s3jcuABhLffvE&quot; target=&quot;_blank&quot;&gt;Программа&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;a href=&quot;http://yadi.sk/d/AHxocp5ZLfg49&quot; target=&quot;_blank&quot;&gt;Исходник&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/community/csharp_dotnet/2753.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/csharp_dotnet/2753&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</description>
  <comments>http://lj.rossia.org/community/csharp_dotnet/2753.html</comments>
  <category>исходники</category>
</item>
<item>
  <guid isPermaLink='true'>http://lj.rossia.org/community/csharp_dotnet/2384.html</guid>
  <pubDate>Tue, 09 Apr 2013 08:19:56 GMT</pubDate>
  <title>Баг в WMI?</title>
  <link>http://lj.rossia.org/community/csharp_dotnet/2384.html</link>
  <description>А точнее в методе &lt;i&gt;EnableDHCP&lt;/i&gt; класса &lt;i&gt;Win32_NetworkAdapterConfiguration&lt;/i&gt;&lt;br /&gt;Решаю задачу - написать программу, которая модифицировала бы свойства протокола IPv4 сетевого адаптера. В частности, необходимо, в некоторых случаях включать автоматическое получение IP-адреса.&lt;br /&gt;&lt;br /&gt;Для решения задачи использую следующий код:&lt;br /&gt;&lt;lj-cut&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;pre&gt;
        public static int EnableDHCP(string stMAC)
        {
            //создаем новый Management Class для управления конфигурациями сетевых адаптеров
            ManagementClass AdaptersMan = new ManagementClass(&quot;Win32_NetworkAdapterConfiguration&quot;);
            //Получаем коллекцию объектов Management Object - все сетевые карты компа в данном случае
            ManagementObjectCollection AdaptersCollect = AdaptersMan.GetInstances();

            foreach (ManagementObject mAdapter in AdaptersCollect) //перебираем все адаптеры в коллекции
            {
                if ((string)mAdapter[&quot;MACAddress&quot;] == stMAC) //Нашли адаптер с нужным MAC&apos;ом
                {
                    try
                    {
                        ManagementBaseObject retManObj; //сюда будет возвращено значение InvokeMethod
                        ManagementBaseObject methodParameters = mAdapter.GetMethodParameters(&quot;EnableDHCP&quot;); //А это объект для хранения параметров метода
                        //в данном случае их нет и дальше ничего не делаем
                        //сразу вызываем метод
                        retManObj = mAdapter.InvokeMethod(&quot;EnableDHCP&quot;, methodParameters, null);
                        return Convert.ToInt32(retManObj[&quot;returnValue&quot;]);
                    }
                    catch
                    {
                        return -2; //произошла ошибка
                    }
                }
            }

            return -1; //Не нашли адаптер с нужным MAC
        }
&lt;/pre&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Если сетевой кабель подключен, то все работает корректно, однако, при отключенном сетевом кабеле метод &lt;i&gt;EnableDHCP&lt;/i&gt; возвращает ошибку 94, а в свойствах адаптера образуется следующий пиздец:&lt;br /&gt;&lt;center&gt;&lt;img src=&quot;http://content.foto.mail.ru/bk/tolikpunk/9/i-262.jpg&quot;&gt;&lt;/center&gt; &lt;br /&gt;Этот баг был справедливо замечен одним из комментаторов и в соответствующей &lt;b&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/library/windows/desktop/aa390378%28v=vs.85%29.aspx&quot; target=&quot;_blank&quot;&gt;статье&lt;/a&gt;&lt;/b&gt; на MSDN. Так вот вопрос - что это? Неужто баг WMI? И можно ли его как-то побороть, или придется искать другие способы изменения параметров адаптера (не через WMI)&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/community/csharp_dotnet/2384.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/csharp_dotnet/2384&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</description>
  <comments>http://lj.rossia.org/community/csharp_dotnet/2384.html</comments>
  <category>баги</category>
  <category>вопросы</category>
</item>
<item>
  <guid isPermaLink='true'>http://lj.rossia.org/community/csharp_dotnet/2140.html</guid>
  <pubDate>Fri, 09 Nov 2012 03:50:05 GMT</pubDate>
  <title>Транслит и C#</title>
  <link>http://lj.rossia.org/community/csharp_dotnet/2140.html</link>
  <description>&lt;p&gt;Задача - &lt;strong&gt;написать транслитер на C# (Csharp)&lt;/strong&gt;.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Длря решения этой задачи воспользуемся таким чудом &lt;strong&gt;C# (Csharp)&lt;/strong&gt;, &lt;br /&gt;как словари (&lt;strong&gt;Dictionary&lt;/strong&gt;). Стоит отметить, что словари появились &lt;br /&gt;в версии &lt;strong&gt;.NET Framework 2.0.&lt;/strong&gt;. Dictionary представляет собой &lt;br /&gt;набор данных связанных как ключ-значение. При обьявлении словаря следует &lt;br /&gt;указывать типы с которыми будет работать словарь.&lt;/p&gt;&lt;br /&gt;&lt;lj-cut&gt;&lt;br /&gt;&lt;p&gt;Например: &lt;/p&gt;&lt;br /&gt;&lt;pre&gt;Dictionary&amp;lt;string, string&amp;gt; dict = new Dictionary&amp;lt;string, string&amp;gt;();
&lt;/pre&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Обьявляем словарь который будет работать с типами &lt;strong&gt;String&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Рассмотрим уже на практике добавление параметров в словарь. Для этого создадим &lt;br /&gt;новый проект в &lt;strong&gt;Visual Studio 2005&lt;/strong&gt; и положим на форму два &lt;br /&gt;компонента TextBox: textBox1 и textBox2. В первый будем вводить русский текст, &lt;br /&gt;во вротом будем получать текст на транслите.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Обьявляем наш словарь:&lt;br /&gt;&lt;pre&gt;Dictionary&amp;lt;string, string&amp;gt; words = new Dictionary&amp;lt;string, string&amp;gt;();
&lt;/pre&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Теперь добавим наши значения русских букв, и их аналоги на транслите. Для &lt;br /&gt;этого используем метод Add(string, string):&lt;br /&gt;&lt;pre&gt; words.Add(&amp;quot;а&amp;quot;, &amp;quot;a&amp;quot;);
 words.Add(&amp;quot;б&amp;quot;, &amp;quot;b&amp;quot;);
..
&lt;/pre&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Этот код можно добавить после &lt;strong&gt;InitializeComponent()&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Дальше нужно написать код замены букв с использованием &lt;strong&gt;Dictionary&lt;/strong&gt;. &lt;br /&gt;Сделаем что б при вводе текста в первое поле ввода, во втором сразу отображался &lt;br /&gt;аналог текста, но на транслите. Для этого обрабатываем событие &lt;strong&gt;&lt;br /&gt;TextChanged&lt;/strong&gt; нашего &lt;strong&gt;textBox1&lt;/strong&gt;:&lt;br /&gt;&lt;pre&gt;string source = textBox1.Text;
foreach (KeyValuePair&amp;lt;string, string&amp;gt; pair in words)
{
    source = source.Replace(pair.Key, pair.Value);
}
textBox2.Text = source;
&lt;/pre&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Код довольно простой, мы получаем строку которую содержит textBox1, проходим &lt;br /&gt;по ней циклом и заменяем все что попало в наш словарь как ключ-значение. После &lt;br /&gt;цикла присваиваем textBox2 обработанную строку. Это позволяет получать транслит &lt;br /&gt;сразу после ввода русских букв в первом поле ввода.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Вот итоговый вариант:&lt;br /&gt;&lt;pre&gt;using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace Transliter
{
    public partial class Form1 : Form
    {
        Dictionary&amp;lt;string, string&amp;gt; words = new Dictionary&amp;lt;string, string&amp;gt;();

        public Form1()
        {
            InitializeComponent();
            words.Add(&amp;quot;а&amp;quot;, &amp;quot;a&amp;quot;);
            words.Add(&amp;quot;б&amp;quot;, &amp;quot;b&amp;quot;);
            words.Add(&amp;quot;в&amp;quot;, &amp;quot;v&amp;quot;);
            words.Add(&amp;quot;г&amp;quot;, &amp;quot;g&amp;quot;);
            words.Add(&amp;quot;д&amp;quot;, &amp;quot;d&amp;quot;);
            words.Add(&amp;quot;е&amp;quot;, &amp;quot;e&amp;quot;);
            words.Add(&amp;quot;ё&amp;quot;, &amp;quot;yo&amp;quot;);
            words.Add(&amp;quot;ж&amp;quot;, &amp;quot;zh&amp;quot;);
            words.Add(&amp;quot;з&amp;quot;, &amp;quot;z&amp;quot;);
            words.Add(&amp;quot;и&amp;quot;, &amp;quot;i&amp;quot;);
            words.Add(&amp;quot;й&amp;quot;, &amp;quot;j&amp;quot;);
            words.Add(&amp;quot;к&amp;quot;, &amp;quot;k&amp;quot;);
            words.Add(&amp;quot;л&amp;quot;, &amp;quot;l&amp;quot;);
            words.Add(&amp;quot;м&amp;quot;, &amp;quot;m&amp;quot;);
            words.Add(&amp;quot;н&amp;quot;, &amp;quot;n&amp;quot;);
            words.Add(&amp;quot;о&amp;quot;, &amp;quot;o&amp;quot;);
            words.Add(&amp;quot;п&amp;quot;, &amp;quot;p&amp;quot;);
            words.Add(&amp;quot;р&amp;quot;, &amp;quot;r&amp;quot;);
            words.Add(&amp;quot;с&amp;quot;, &amp;quot;s&amp;quot;);
            words.Add(&amp;quot;т&amp;quot;, &amp;quot;t&amp;quot;);
            words.Add(&amp;quot;у&amp;quot;, &amp;quot;u&amp;quot;);
            words.Add(&amp;quot;ф&amp;quot;, &amp;quot;f&amp;quot;);
            words.Add(&amp;quot;х&amp;quot;, &amp;quot;h&amp;quot;);
            words.Add(&amp;quot;ц&amp;quot;, &amp;quot;c&amp;quot;);
            words.Add(&amp;quot;ч&amp;quot;, &amp;quot;ch&amp;quot;);
            words.Add(&amp;quot;ш&amp;quot;, &amp;quot;sh&amp;quot;);
            words.Add(&amp;quot;щ&amp;quot;, &amp;quot;sch&amp;quot;);
            words.Add(&amp;quot;ъ&amp;quot;, &amp;quot;j&amp;quot;);
            words.Add(&amp;quot;ы&amp;quot;, &amp;quot;i&amp;quot;);
            words.Add(&amp;quot;ь&amp;quot;, &amp;quot;j&amp;quot;);
            words.Add(&amp;quot;э&amp;quot;, &amp;quot;e&amp;quot;);
            words.Add(&amp;quot;ю&amp;quot;, &amp;quot;yu&amp;quot;);
            words.Add(&amp;quot;я&amp;quot;, &amp;quot;ya&amp;quot;);
            words.Add(&amp;quot;А&amp;quot;, &amp;quot;A&amp;quot;);
            words.Add(&amp;quot;Б&amp;quot;, &amp;quot;B&amp;quot;);
            words.Add(&amp;quot;В&amp;quot;, &amp;quot;V&amp;quot;);
            words.Add(&amp;quot;Г&amp;quot;, &amp;quot;G&amp;quot;);
            words.Add(&amp;quot;Д&amp;quot;, &amp;quot;D&amp;quot;);
            words.Add(&amp;quot;Е&amp;quot;, &amp;quot;E&amp;quot;);
            words.Add(&amp;quot;Ё&amp;quot;, &amp;quot;Yo&amp;quot;);
            words.Add(&amp;quot;Ж&amp;quot;, &amp;quot;Zh&amp;quot;);
            words.Add(&amp;quot;З&amp;quot;, &amp;quot;Z&amp;quot;);
            words.Add(&amp;quot;И&amp;quot;, &amp;quot;I&amp;quot;);
            words.Add(&amp;quot;Й&amp;quot;, &amp;quot;J&amp;quot;);
            words.Add(&amp;quot;К&amp;quot;, &amp;quot;K&amp;quot;);
            words.Add(&amp;quot;Л&amp;quot;, &amp;quot;L&amp;quot;);
            words.Add(&amp;quot;М&amp;quot;, &amp;quot;M&amp;quot;);
            words.Add(&amp;quot;Н&amp;quot;, &amp;quot;N&amp;quot;);
            words.Add(&amp;quot;О&amp;quot;, &amp;quot;O&amp;quot;);
            words.Add(&amp;quot;П&amp;quot;, &amp;quot;P&amp;quot;);
            words.Add(&amp;quot;Р&amp;quot;, &amp;quot;R&amp;quot;);
            words.Add(&amp;quot;С&amp;quot;, &amp;quot;S&amp;quot;);
            words.Add(&amp;quot;Т&amp;quot;, &amp;quot;T&amp;quot;);
            words.Add(&amp;quot;У&amp;quot;, &amp;quot;U&amp;quot;);
            words.Add(&amp;quot;Ф&amp;quot;, &amp;quot;F&amp;quot;);
            words.Add(&amp;quot;Х&amp;quot;, &amp;quot;H&amp;quot;);
            words.Add(&amp;quot;Ц&amp;quot;, &amp;quot;C&amp;quot;);
            words.Add(&amp;quot;Ч&amp;quot;, &amp;quot;Ch&amp;quot;);
            words.Add(&amp;quot;Ш&amp;quot;, &amp;quot;Sh&amp;quot;);
            words.Add(&amp;quot;Щ&amp;quot;, &amp;quot;Sch&amp;quot;);
            words.Add(&amp;quot;Ъ&amp;quot;, &amp;quot;J&amp;quot;);
            words.Add(&amp;quot;Ы&amp;quot;, &amp;quot;I&amp;quot;);
            words.Add(&amp;quot;Ь&amp;quot;, &amp;quot;J&amp;quot;);
            words.Add(&amp;quot;Э&amp;quot;, &amp;quot;E&amp;quot;);
            words.Add(&amp;quot;Ю&amp;quot;, &amp;quot;Yu&amp;quot;);
            words.Add(&amp;quot;Я&amp;quot;, &amp;quot;Ya&amp;quot;);
	}

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            string source = textBox1.Text;
            foreach (KeyValuePair&amp;lt;string, string&amp;gt; pair in words)
            {
                source = source.Replace(pair.Key, pair.Value);
            }
            textBox2.Text = source;
        }
    }
}
&lt;/pre&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; В итоге мы получили &lt;strong&gt;транслитер&lt;/strong&gt;, который динамически &lt;br /&gt;обрабатывает введенный пользователем текст.&lt;p&gt;Источник:&lt;br /&gt;&lt;noindex&gt;&lt;a href=&quot;http://devoid.com.ua/&quot; rel=&quot;nofollow&quot;&gt;http://devoid.com.ua/&lt;/a&gt;&lt;/noindex&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Автор: Макагон Сергей&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;Источник: &lt;a href=&quot;http://www.realcoding.net/articles/transliter-na-c-csharp.html&quot;&gt;http://www.realcoding.net/articles/tran&lt;wbr /&gt;sliter-na-c-csharp.html&lt;/a&gt;&lt;br /&gt;И исходник класса транслиттера: &lt;a href=&quot;http://yadi.sk/d/mzhpj_jA0d6Ky&quot;&gt;http://yadi.sk/d/mzhpj_jA0d6Ky&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/community/csharp_dotnet/2140.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/csharp_dotnet/2140&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</description>
  <comments>http://lj.rossia.org/community/csharp_dotnet/2140.html</comments>
  <category>c#</category>
  <category>исходники</category>
  <category>как сделать</category>
  <category>начинающим</category>
  <category>статьи</category>
</item>
<item>
  <guid isPermaLink='true'>http://lj.rossia.org/community/csharp_dotnet/1836.html</guid>
  <pubDate>Thu, 24 Nov 2011 17:19:34 GMT</pubDate>
  <title>РАБОТА С БАЗАМИ ДАННЫХ НА ЯЗЫКЕ C#. ТЕХНОЛОГИЯ АDO .NET: сост. О. Н. Евсеева,  А. Б. Шамшев</title>
  <link>http://lj.rossia.org/community/csharp_dotnet/1836.html</link>
  <description>Пособие содержит введение в технологию разработки баз данных средствами ADO (ActiveX Data Object) на платформе .NET с использованием языка программирования С#. В книге представлены работа с базами данных на примере настольного приложения СУБД Microsoft Access и серверного приложения Microsoft SQL Server; основы языка SQL, создание и использование объектов ADO .NET.&lt;br /&gt;Пособие предназначено для студентов, изучающих высокоуровневые методы информатики и программирования (специальность 080801 «Прикладная информатика (по областям)») и базы данных, а также для студентов других специальностей, связанных с программированием.&lt;br /&gt;&lt;br /&gt;&lt;lj-cut&gt;&lt;br /&gt;Предисловие &lt;br /&gt;1 Проектирование баз данных&lt;br /&gt;1.1 Реляционная база данных и ее структура &lt;br /&gt;1.2 Этапы проектирования реляционной базы данных&lt;br /&gt;1.2.1 Определение требований&lt;br /&gt;1.2.2 Логическая модель&lt;br /&gt;ER-диаграммы &lt;br /&gt;Объекты, атрибуты и ключи &lt;br /&gt;Нормализация&lt;br /&gt;1.2.3 Физическая модель &lt;br /&gt;1.3 Создание БД в СУБД Microsoft Access &lt;br /&gt;1.3.1 Таблицы &lt;br /&gt;1.3.2 Ключи&lt;br /&gt;1.3.3 Связи &lt;br /&gt;1.4 Создание базы данных в среде Microsoft SQL Server&lt;br /&gt;1.4.1 Определение структуры базы данных &lt;br /&gt;1.4.2 Перенос файла БД Microsoft SQL на другой компьютер&lt;br /&gt;1.5 Контрольные вопросы и задания к разделу 1&lt;br /&gt;2. Основы языка SQL&lt;br /&gt;2.1 Базовая конструкция SQL-запроса&lt;br /&gt;2.2 Агрегирующие функции языка SQL &lt;br /&gt;2.3 Оператор сравнения записей like &lt;br /&gt;2.4 Команды определения данных языка SQL&lt;br /&gt;2.5 Команды изменения данных языка DML &lt;br /&gt;2.6 Контрольные вопросы и задания к разделу 2&lt;br /&gt;3. Создание приложений баз данных&lt;br /&gt;3.1 Пример простейшего приложения баз данных &lt;br /&gt;3.2 Обзор объектов ADO .NET &lt;br /&gt;3.2.1 Источник данных DataSet&lt;br /&gt;3.2.2 Таблицы и поля (объекты DataTable и DataColumn) &lt;br /&gt;3.2.3 Объекты DataRelation &lt;br /&gt;3.2.4 Строки (объект DataRow)&lt;br /&gt;3.2.5 DataAdapter &lt;br /&gt;3.2.6 Объекты DBConnection и DBCommand &lt;br /&gt;3.3 Server Explorer &lt;br /&gt;3.4 Пример создания приложения БД «вручную» &lt;br /&gt;3.5 Контрольные вопросы и задания к разделу 3&lt;br /&gt;4. Объекты ADO .NET&lt;br /&gt;4.1 Соединение с базой данных&lt;br /&gt;4.1.1 Командная строка соединения ConnectionString &lt;br /&gt;4.1.2 Управление соединением Объект Connection &lt;br /&gt;4.1.3 События объекта Connection&lt;br /&gt;4.1.4 Обработка исключений &lt;br /&gt;При работе с MS SQL &lt;br /&gt;При работе с MS Access &lt;br /&gt;4.1.5 Работа с пулом соединений&lt;br /&gt;4.2 Хранимые процедуры&lt;br /&gt;4.2.1 Стандартные запросы к БД &lt;br /&gt;4.2.2 Простые запросы к БД&lt;br /&gt;4.2.3 Параметризованные запросы к БД &lt;br /&gt;4.2.4 Создание хранимых процедур в Management Studio&lt;br /&gt;4.2.5 Создание хранимых процедур в Visual Studio 2008 &lt;br /&gt;4.3 Запросы к базе данных &lt;br /&gt;4.3.1 Командная строка SQL-запроса CommandText&lt;br /&gt;4.3.2 Объект Command &lt;br /&gt;Создание и инициализация &lt;br /&gt;Свойства CommandType и CommandText&lt;br /&gt;Метод ExecuteNonQuery&lt;br /&gt;Метод ExecuteScalar&lt;br /&gt;Метод ExecuteReader &lt;br /&gt;4.3.3 Параметризированные запросы&lt;br /&gt;Использование метода ExecuteNonQuery &lt;br /&gt;Использование метода ExecuteScalar &lt;br /&gt;Использование метода ExecuteReader&lt;br /&gt;4.3.4 Вызов хранимых процедур &lt;br /&gt;Хранимые процедуры с входными параметрами &lt;br /&gt;Хранимые процедуры с входными и выходными параметрами &lt;br /&gt;Хранимые процедуры из нескольких SQL-конструкций&lt;br /&gt;4.3.5 Транзакции&lt;br /&gt;Транзакции в ADO .NET &lt;br /&gt;4.4 Работа с таблицами данных &lt;br /&gt;4.4.1 Объекты DataSet, DataTable и DataColumn&lt;br /&gt;Программное создание объектов DataTable и DataColumn &lt;br /&gt;Свойство PrimaryKey&lt;br /&gt;Ограничения UniqueConstraint и ForeignKeyConstraint&lt;br /&gt;Создание столбцов, основанных на выражении &lt;br /&gt;Отслеживание изменений в базе данных&lt;br /&gt;Обработка исключений &lt;br /&gt;4.4.2 Объект DataRow &lt;br /&gt;Программное создание и изменение записей таблицы данных &lt;br /&gt;Свойство RowState&lt;br /&gt;Свойство RowVersion &lt;br /&gt;События объекта DataTable &lt;br /&gt;4.4.3 Объект DataGridView&lt;br /&gt;Вывод двух связанных таблиц данных в один элемент DataGridView&lt;br /&gt;Вывод связанных таблиц данных в два элемента DataGridView &lt;br /&gt;4.4.4 Объект DataView&lt;br /&gt;Фильтрация данных &lt;br /&gt;Сортировка данных&lt;br /&gt;Поиск данных &lt;br /&gt;4.4.5 Вспомогательные классы &lt;br /&gt;Класс HashTable &lt;br /&gt;Класс ArrayList &lt;br /&gt;4.5 Контрольные вопросы и задания к разделу 4&lt;br /&gt;Заключение &lt;br /&gt;Предметный указатель &lt;br /&gt;Библиографический список&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://yadi.sk/d/KDVYmu1r495WT&quot;&gt;Evseeva.pdf&lt;/a&gt; 3 Мб, PDF&lt;br /&gt;&lt;br /&gt;Хорошая, кстати, методичка для студентов и вообще для начинающих, самому помогала во время учебы.&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/community/csharp_dotnet/1836.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/csharp_dotnet/1836&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</description>
  <comments>http://lj.rossia.org/community/csharp_dotnet/1836.html</comments>
  <category>c#</category>
  <category>СУБД</category>
  <category>литература</category>
  <category>начинающим</category>
</item>
<item>
  <guid isPermaLink='true'>http://lj.rossia.org/community/csharp_dotnet/1621.html</guid>
  <pubDate>Wed, 23 Nov 2011 17:25:39 GMT</pubDate>
  <title>Меню сообщества</title>
  <link>http://lj.rossia.org/community/csharp_dotnet/1621.html</link>
  <description>&lt;center&gt;&lt;br /&gt;&lt;img src=&quot;http://s017.radikal.ru/i413/1111/15/9b35a811f7ce.jpg&quot; alt=&quot;Лого&quot;&gt;&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;&lt;center&gt;&lt;br /&gt;&lt;a href=&quot;http://lj.rossia.org/community/csharp_dotnet/267.html&quot;&gt;&lt;img src=&quot;http://i008.radikal.ru/1111/65/d51c231743fd.jpg&quot; alt=&quot;Правила&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://lj.rossia.org/community/csharp_dotnet/1356.html&quot;&gt;&lt;img src=&quot;http://s43.radikal.ru/i100/1111/37/32224cf4b1f5.jpg&quot; alt=&quot;Как сделать&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://lj.rossia.org/community/csharp_dotnet/599.html&quot;&gt;&lt;img src=&quot;http://s017.radikal.ru/i435/1111/0f/c791f8ec3038.jpg&quot; alt=&quot;FAQ&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://lj.rossia.org/community/csharp_dotnet/958.html&quot;&gt;&lt;img src=&quot;http://i023.radikal.ru/1111/6a/15f3b1fc6833.jpg&quot; alt=&quot;Библиотека&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://lj.rossia.org/community/csharp_dotnet/1189.html&quot;&gt;&lt;img src=&quot;http://s017.radikal.ru/i408/1111/47/e95e6c0fe476.jpg&quot; alt=&quot;Флуд&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/community/csharp_dotnet/1621.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/csharp_dotnet/1621&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</description>
  <category>сообщество</category>
</item>
<item>
  <guid isPermaLink='true'>http://lj.rossia.org/community/csharp_dotnet/1356.html</guid>
  <pubDate>Wed, 23 Nov 2011 16:00:47 GMT</pubDate>
  <title>Как сделать .... ?</title>
  <link>http://lj.rossia.org/community/csharp_dotnet/1356.html</link>
  <description>Сюда задаем вопросы по C#, кидаем задачки.&lt;br /&gt;Например: &lt;i&gt;Как написать на C# программу, распечатывающую саму себя?&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/community/csharp_dotnet/1356.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/csharp_dotnet/1356&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</description>
  <comments>http://lj.rossia.org/community/csharp_dotnet/1356.html</comments>
  <category>сообщество</category>
</item>
<item>
  <guid isPermaLink='true'>http://lj.rossia.org/community/csharp_dotnet/1189.html</guid>
  <pubDate>Wed, 23 Nov 2011 15:48:48 GMT</pubDate>
  <title>Для флуда и оффтопа</title>
  <link>http://lj.rossia.org/community/csharp_dotnet/1189.html</link>
  <description>Флудить, оффтопить и беспредельничать, это сюды в комментарии&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/community/csharp_dotnet/1189.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/csharp_dotnet/1189&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</description>
  <comments>http://lj.rossia.org/community/csharp_dotnet/1189.html</comments>
  <category>сообщество</category>
</item>
<item>
  <guid isPermaLink='true'>http://lj.rossia.org/community/csharp_dotnet/958.html</guid>
  <pubDate>Wed, 23 Nov 2011 15:37:40 GMT</pubDate>
  <title>Библиотека</title>
  <link>http://lj.rossia.org/community/csharp_dotnet/958.html</link>
  <description>Пост со ссылками на посты с описанием литературы по теме сообщества.&lt;br /&gt;&lt;br /&gt;1. &lt;a href=&quot;http://lj.rossia.org/community/csharp_dotnet/1836.html&quot;&gt;РАБОТА С БАЗАМИ ДАННЫХ НА ЯЗЫКЕ C#. ТЕХНОЛОГИЯ АDO .NET: сост. О. Н. Евсеева, А. Б. Шамшев&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/community/csharp_dotnet/958.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/csharp_dotnet/958&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</description>
  <comments>http://lj.rossia.org/community/csharp_dotnet/958.html</comments>
  <category>литература</category>
  <category>сообщество</category>
</item>
<item>
  <guid isPermaLink='true'>http://lj.rossia.org/community/csharp_dotnet/599.html</guid>
  <pubDate>Wed, 23 Nov 2011 15:28:13 GMT</pubDate>
  <title>FAQ</title>
  <link>http://lj.rossia.org/community/csharp_dotnet/599.html</link>
  <description>FAQ пока нет, но обязательно появится.&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/community/csharp_dotnet/599.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/csharp_dotnet/599&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</description>
  <comments>http://lj.rossia.org/community/csharp_dotnet/599.html</comments>
  <category>сообщество</category>
</item>
<item>
  <guid isPermaLink='true'>http://lj.rossia.org/community/csharp_dotnet/267.html</guid>
  <pubDate>Wed, 23 Nov 2011 15:14:30 GMT</pubDate>
  <title>Правила сообщества</title>
  <link>http://lj.rossia.org/community/csharp_dotnet/267.html</link>
  <description>&lt;b&gt;0.Сообщество предназначено &lt;/b&gt;&lt;br /&gt;0.	Обмена различной информацией по данному языку программирования и смежным областям. Это может быть – литература, исходные коды программ и учебных примеров, лекции, статьи, описания процесса разработки программ и прочее.&lt;br /&gt;1.	Для помощи новичкам в изучении языка программирования C# и технологии .NET Framework&lt;br /&gt;&lt;b&gt;1.В сообществе разрешается. &lt;/b&gt;&lt;br /&gt;0. Размещать исходные коды программ, ссылки на литературу, другие тематические материалы. Пожалуйста, не забывайте указывать источник и / или автора материала, если материал не Ваш лично.&lt;br /&gt;1. Задавать и отвечать на вопросы касающиеся темы сообщества. Для вопросов предусмотрен специальный пост &lt;a href=&quot;http://lj.rossia.org/community/csharp_dotnet/1356.html&quot;&gt;«Как сделать»&lt;/a&gt;. Задать интересующий вопрос можно в комментариях. Перед тем, как задать вопрос, пожалуйста, обратитесь к &lt;a href=&quot;http://lj.rossia.org/community/csharp_dotnet/599.html&quot;&gt;FAQ.&lt;/a&gt;&lt;br /&gt;2. Конструктивно критиковать опубликованные материалы, указывать на ошибки в программном коде, предлагать оптимальные решения задач.&lt;br /&gt;3. Предлагать свои идеи для улучшения сообщества, и всячески способствовать его улучшению.&lt;br /&gt;4. Распространять материалы сообщества с сохранением информации об авторе материала и, желательно, со ссылкой на соответствующий пост в сообществе.&lt;br /&gt;5. Флудить и оффтопить, но только в соответствующем месте – в комментариях под &lt;a href=&quot;http://lj.rossia.org/community/csharp_dotnet/1189.html&quot;&gt;постом для флуда&lt;/a&gt;.&lt;br /&gt;&lt;b&gt;2.В сообществе запрещается:&lt;/b&gt;&lt;br /&gt;0. Пустая, неконструктивная критика.&lt;br /&gt;1. Личные оскорбления в адрес участников сообщества, смотрителя, администрации lj.rossia.org&lt;br /&gt;2. Флуд в неустановленном для этого месте.&lt;br /&gt;3. Спам и размещение рекламных материалов.&lt;br /&gt;4. Оффтоп&lt;br /&gt;5. Запрещены темы наподобие C# vs FoxPro, если целью создания такой темы является разжигание бессмысленного спора.&lt;br /&gt;6. Спорить с администрацией сообщества.&lt;br /&gt;&lt;b&gt;3. Диклэймер об отсутствии демократии в сообществе&lt;/b&gt;&lt;br /&gt;0.	Администрация сообщества всегда права.&lt;br /&gt;1.	Если Вы считаете, что администрация не права, см. пункт 0&lt;br /&gt;&lt;b&gt;4. Копирастическим борцунам от издательского дела.&lt;/b&gt;&lt;br /&gt;В связи с тем, что литература расположена на внешних ресурсах, к администрации сообщества у вас вопросов быть не должно. Если они все-таки возникнут, то прошу следовать по &lt;a href=&quot;http://natribu.org/&quot;&gt;данной ссылке&lt;/a&gt;.&lt;br /&gt;&lt;b&gt;5.Как желательно оформлять посты с описанием литературы.&lt;/b&gt;&lt;br /&gt;0.	В заголовке поста должно быть указано название книги и ее автор(ы), например «C# для «чайников», Иванов И.И., Петров П.П.»&lt;br /&gt;1.	Сам пост должен содержать краткую аннотацию к книге&lt;br /&gt;2.	Далее, под катом, желательно разместить содержание (оглавление) книги.&lt;br /&gt;3.	Закрыть кат.&lt;br /&gt;4.	Указать ссылку на книгу в электронном виде (или же указать, что электронный вариант отсутствует). Не забывайте указывать формат файла и его размер. &lt;br /&gt;5.	Опционально: указать ссылку на интернет-магазин, где можно приобрести книгу.&lt;br /&gt;6.	Оставить ссылку на пост с описанием книги в комментариях к посту &lt;a href=&quot;http://lj.rossia.org/community/csharp_dotnet/958.html&quot;&gt;«Библиотека»&lt;/a&gt;, после чего смотритель сообщества внесет книгу в этот список.&lt;br /&gt;Комментирование правил закрыто. В комментариях будет бан-лист, но, надеюсь, он нам не потребуется.&lt;br /&gt;С уважением, Толик Хекс.&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align:left&quot;&gt;&lt;font size=&quot;-2&quot;&gt;&lt;a href=&quot;http://lj.rossia.org/community/csharp_dotnet/267.html&quot;&gt;&lt;img src=&quot;http://lj.rossia.org/numreplies/csharp_dotnet/267&quot; border=0 width=26 height=17  alt=&quot;number of comments&quot; style=&quot;border:0px;&quot; /&gt; &lt;strong&gt;Comments&lt;/strong&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;</description>
  <category>сообщество</category>
</item>
</channel>
</rss>
