<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4384354951592419386</id><updated>2025-08-25T20:55:24.270+04:00</updated><category term="Шифрование"/><category term="C# и Internet"/><category term="Объекты и классы"/><category term="Разное"/><category term="Графика"/><title type='text'>.Net And C#</title><subtitle type='html'>Все о С# и .Net!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://easy-c-sharp.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4384354951592419386/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://easy-c-sharp.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>15</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4384354951592419386.post-7189481092266061119</id><published>2013-07-03T00:14:00.002+04:00</published><updated>2013-07-03T10:16:04.147+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Разное"/><title type='text'>Как изменить шрифт в Visual Studio</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Для того, чтобы изменить шрифт написанного кода в Visual Studio выполните следующие шаги (в примере используется Visual Studio 12 )&lt;br&gt;
&lt;br&gt;
Шаг 1 . Выбрать Меню Tools&lt;br&gt;
&lt;/div&gt;&lt;a href=&quot;http://easy-c-sharp.blogspot.com/2013/07/visual-studio.html#more&quot;&gt;Дальше »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://easy-c-sharp.blogspot.com/feeds/7189481092266061119/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://easy-c-sharp.blogspot.com/2013/07/visual-studio.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4384354951592419386/posts/default/7189481092266061119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4384354951592419386/posts/default/7189481092266061119'/><link rel='alternate' type='text/html' href='http://easy-c-sharp.blogspot.com/2013/07/visual-studio.html' title='Как изменить шрифт в Visual Studio'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK0KPlckyjvpH7vHJp6tDPOPbZekxVMYKz4wEnOSnLnQCD_IvYX2r1RtpvFPqKrw4Xz9niYHwt407A9ZgAlL4xVHo-7T-x6ddLaocxh06RiWRCQSoNxg81k0YJQInBBVN-8S8pcuJZ-1D6/s72-c/1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4384354951592419386.post-5446776054060569778</id><published>2012-12-10T16:33:00.000+04:00</published><updated>2012-12-10T16:33:25.095+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Шифрование"/><title type='text'>Класс CryptoStream</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Класс CryptoStream связывает потоки с криптографическими преобразованиями. Для зашиты данных принимается их шифрование секретным ключом. В зависимости от алгоритма, для дешифрования может понадобится тот же ключ или другой. CryptoStream принадлежит пространству имен System.Security.Cryptography. Класс используется для выполнения криптографических операций на объекте Stream.&lt;br&gt;
Конструктор CryptoStream принимает три параметра. Первый из них задает используемый поток, второй - криптографические преобразование, третий указывает доступ на чтение или запись к криптографическому потоку.&lt;br&gt;
&lt;/div&gt;&lt;a href=&quot;http://easy-c-sharp.blogspot.com/2012/12/cryptostream.html#more&quot;&gt;Дальше »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://easy-c-sharp.blogspot.com/feeds/5446776054060569778/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://easy-c-sharp.blogspot.com/2012/12/cryptostream.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4384354951592419386/posts/default/5446776054060569778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4384354951592419386/posts/default/5446776054060569778'/><link rel='alternate' type='text/html' href='http://easy-c-sharp.blogspot.com/2012/12/cryptostream.html' title='Класс CryptoStream'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4384354951592419386.post-6141299576055653003</id><published>2012-10-01T19:20:00.000+04:00</published><updated>2012-10-01T19:20:36.407+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Объекты и классы"/><title type='text'>C# оценка времени выполнения кода</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
В зависимости от требуемой точности&amp;nbsp;оценку времени выполнения можно получить разными способами.&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
Измерение с помощью TickCount&amp;nbsp;&lt;/h3&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
При этом способе точность получится наименьшая.&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;/div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;int &lt;/span&gt;start =&lt;span style=&quot;color: #6fa8dc;&quot;&gt; Environment&lt;/span&gt;.TickCount;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #93c47d;&quot;&gt;// ваши действия&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int end = &lt;span style=&quot;color: #6fa8dc;&quot;&gt;Environment&lt;/span&gt;.TickCount;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #6fa8dc;&quot;&gt;Console&lt;/span&gt;.WriteLine(&lt;span style=&quot;color: red;&quot;&gt;&quot;Ticks : &quot;&lt;/span&gt; + (end-start)); &lt;span style=&quot;color: #93c47d;&quot;&gt;//ваш результат&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;h3&gt;
Измерение с помощью Ticks&lt;/h3&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
В этом&amp;nbsp;случай&amp;nbsp; вы получите более точный результат . Точность 100 наносекунд.&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;long &lt;/span&gt;start = &lt;span style=&quot;color: #6fa8dc;&quot;&gt;DateTime&lt;/span&gt;.Now.Ticks;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #93c47d;&quot;&gt; // ваши действия&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;long &lt;/span&gt;end = &lt;span style=&quot;color: #6fa8dc;&quot;&gt;DateTime&lt;/span&gt;.Now.Ticks;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #6fa8dc;&quot;&gt;Console&lt;/span&gt;.WriteLine(&lt;span style=&quot;color: red;&quot;&gt;&quot;Ticks : &quot;&lt;/span&gt; + (end-start)); &lt;span style=&quot;color: #93c47d;&quot;&gt;//ваш результат&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;h3&gt;
Измерение с помощью QueryPerformance&lt;/h3&gt;
&lt;/div&gt;
&lt;div&gt;
Самую высокую точность (1/3579545 секунды) можно получить данным способом.&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[System.Runtime.InteropServices.&lt;span style=&quot;color: #6fa8dc;&quot;&gt;DllImport&lt;/span&gt;(&lt;span style=&quot;color: red;&quot;&gt;&quot;kernel32.dll&quot;&lt;/span&gt;)]&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; extern static short QueryPerformanceCounter(&lt;span style=&quot;color: blue;&quot;&gt;ref long &lt;/span&gt;x);&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [System.Runtime.InteropServices.&lt;span style=&quot;color: #6fa8dc;&quot;&gt;DllImport&lt;/span&gt;(&lt;span style=&quot;color: red;&quot;&gt;&quot;kernel32.dll&quot;&lt;/span&gt;)]&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; extern static short QueryPerformanceFrequency(&lt;span style=&quot;color: blue;&quot;&gt;ref long &lt;/span&gt;x);&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;long &lt;/span&gt;ctrl1 = 0, ctrl2 = 0, freq = 0;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
и уже в вашем методе дополняете код .&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #93c47d;&quot;&gt;// начало измерения&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (QueryPerformanceCounter(&lt;span style=&quot;color: blue;&quot;&gt;ref &lt;/span&gt;ctrl1) != &lt;span style=&quot;color: blue;&quot;&gt;null&lt;/span&gt;)&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #93c47d;&quot;&gt; // ваши действия&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #93c47d;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #93c47d;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Завершение измерения&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; QueryPerformanceCounter(&lt;span style=&quot;color: blue;&quot;&gt;ref &lt;/span&gt;ctrl2);&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; QueryPerformanceFrequency(&lt;span style=&quot;color: blue;&quot;&gt;ref &lt;/span&gt;freq);&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #6fa8dc;&quot;&gt;Console&lt;/span&gt;.WriteLine(&lt;span style=&quot;color: red;&quot;&gt;&quot;Минимальное разрешение : 1/&quot;&lt;/span&gt; + freq + &lt;span style=&quot;color: red;&quot;&gt;&quot; сек.&quot;&lt;/span&gt;);&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #6fa8dc;&quot;&gt;Console&lt;/span&gt;.WriteLine(&lt;span style=&quot;color: red;&quot;&gt;&quot;Время выполнения &quot;&lt;/span&gt; + (ctrl2 - ctrl1) * 1 / freq + &lt;span style=&quot;color: red;&quot;&gt;&quot; сек.&quot;&lt;/span&gt;);&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://easy-c-sharp.blogspot.com/feeds/6141299576055653003/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://easy-c-sharp.blogspot.com/2012/10/c.html#comment-form' title='Комментарии: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4384354951592419386/posts/default/6141299576055653003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4384354951592419386/posts/default/6141299576055653003'/><link rel='alternate' type='text/html' href='http://easy-c-sharp.blogspot.com/2012/10/c.html' title='C# оценка времени выполнения кода'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4384354951592419386.post-7503895655418153739</id><published>2012-09-30T00:09:00.002+04:00</published><updated>2013-04-04T10:07:52.407+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Объекты и классы"/><title type='text'>C# List   и Как найти нужный элемент</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Класс List&amp;lt;T&amp;gt; строго типизированный список объектов. Объекты доступный по индексу.&amp;nbsp;Поддерживает методы для поиска по списку, выполнения сортировки и других операций со списками.&lt;br /&gt;
Ниже приведен пример, где поиск&amp;nbsp;осуществляется в цикле foreach и методом Find класса List&amp;lt;T&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;using &lt;/span&gt;System;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;using &lt;/span&gt;System.Collections.Generic;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;using &lt;/span&gt;System.Text;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;using &lt;/span&gt;System.Diagnostics;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;namespace &lt;/span&gt;Blogger_ListT&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #3d85c6;&quot;&gt;class &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;Program&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #6fa8dc;&quot;&gt;class &lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;MenuForOrder&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;public &lt;/span&gt;MenuForOrder()&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Id = -1;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Name = &lt;span style=&quot;color: blue;&quot;&gt;string&lt;/span&gt;.Empty;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Price = -1;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;public &lt;/span&gt;MenuForOrder(&lt;span style=&quot;color: blue;&quot;&gt;int &lt;/span&gt;id,&lt;span style=&quot;color: blue;&quot;&gt;string &lt;/span&gt;name,&lt;span style=&quot;color: blue;&quot;&gt;int &lt;/span&gt;price)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Id = id;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Name = name;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Price = price;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;private int&lt;/span&gt; Id;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;private string&lt;/span&gt; Name;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;private int &lt;/span&gt;Price;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;public int&lt;/span&gt; ID&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;get&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;return &lt;/span&gt;Id;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;set&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Id = &lt;span style=&quot;color: blue;&quot;&gt;value&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;public string&lt;/span&gt; NAME&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;get&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;return &lt;/span&gt;Name;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;set&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Name = &lt;span style=&quot;color: blue;&quot;&gt;value&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;public int &lt;/span&gt;PRICE&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;get&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;return &lt;/span&gt;Price;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;set&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Price = &lt;span style=&quot;color: blue;&quot;&gt;value&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt; public override string&lt;/span&gt; ToString()&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;return this&lt;/span&gt;.Id.ToString()+&lt;span style=&quot;color: red;&quot;&gt;&quot; &quot;&lt;/span&gt;+&lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.Name+&lt;span style=&quot;color: red;&quot;&gt;&quot; &quot;&lt;/span&gt;+&lt;span style=&quot;color: blue;&quot;&gt;this&lt;/span&gt;.PRICE.ToString();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;static &lt;/span&gt;&lt;span style=&quot;color: #6fa8dc;&quot;&gt;List&amp;lt;MenuForOrder&amp;gt; &lt;/span&gt;lMenuForOrder ;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;static void &lt;/span&gt;Main(&lt;span style=&quot;color: blue;&quot;&gt;string&lt;/span&gt;[] args)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lMenuForOrder = &lt;span style=&quot;color: blue;&quot;&gt;new &lt;/span&gt;&lt;span style=&quot;color: #6fa8dc;&quot;&gt;List&lt;/span&gt;&amp;lt;&lt;span style=&quot;color: #6fa8dc;&quot;&gt;MenuForOrder&lt;/span&gt;&amp;gt;();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;for &lt;/span&gt;(&lt;span style=&quot;color: blue;&quot;&gt;int &lt;/span&gt;i = 1; i &amp;lt; 100000; i++)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lMenuForOrder.Add(&lt;span style=&quot;color: blue;&quot;&gt;new &lt;/span&gt;&lt;span style=&quot;color: #6fa8dc;&quot;&gt;MenuForOrder&lt;/span&gt;(i, &lt;span style=&quot;color: red;&quot;&gt;&quot;Mohito&quot;&lt;/span&gt;, 250));&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #6fa8dc;&quot;&gt;Stopwatch &lt;/span&gt;sw=&lt;span style=&quot;color: blue;&quot;&gt;new &lt;/span&gt;&lt;span style=&quot;color: #6fa8dc;&quot;&gt;Stopwatch&lt;/span&gt;();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sw.Start();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #6fa8dc;&quot;&gt;MenuForOrder &lt;/span&gt;findeditem = lMenuForOrder.Find(&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;delegate&lt;/span&gt;&lt;/span&gt;(&lt;span style=&quot;color: #6fa8dc;&quot;&gt;MenuForOrder &lt;/span&gt;m) { &lt;span style=&quot;color: blue;&quot;&gt;return &lt;/span&gt;m.ID == 99999; });&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #6fa8dc;&quot;&gt;Console&lt;/span&gt;.WriteLine(findeditem.ToString() + &lt;span style=&quot;color: red;&quot;&gt;&quot; Find Time: &quot;&lt;/span&gt; + sw.ElapsedMilliseconds.ToString());&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sw.Start();&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;foreach &lt;/span&gt;(&lt;span style=&quot;color: #6fa8dc;&quot;&gt;MenuForOrder &lt;/span&gt;mfo &lt;span style=&quot;color: blue;&quot;&gt;in &lt;/span&gt;lMenuForOrder)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;if &lt;/span&gt;(mfo.ID == 99999)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #6fa8dc;&quot;&gt;Console&lt;/span&gt;.WriteLine(mfo.ToString() + &lt;span style=&quot;color: red;&quot;&gt;&quot; Find Time: &quot;&lt;/span&gt; + sw.ElapsedMilliseconds.ToString());&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #6fa8dc;&quot;&gt;Console&lt;/span&gt;.Read();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Вот какой результат получился&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7LEIl2ADgTcz7Kn113EzYlYrGeBved8z0y_FZGY8aLKrb0FlXEpWcLYczJAUkEc9Pdz6Jq0G7xq7cMWgjr71alUBpKor20kEbx2IMkZ9Fo0ztpm4vl7f3MLsT7pK_NUCqawlmEztNeCQv/s1600/1j.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;160&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7LEIl2ADgTcz7Kn113EzYlYrGeBved8z0y_FZGY8aLKrb0FlXEpWcLYczJAUkEc9Pdz6Jq0G7xq7cMWgjr71alUBpKor20kEbx2IMkZ9Fo0ztpm4vl7f3MLsT7pK_NUCqawlmEztNeCQv/s320/1j.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Но если поменять местами цикл и метод, то получается такой же ответ.&lt;br /&gt;
Метод Find &amp;nbsp;более читабелен. Но в нем опять таки реализован цикл foreach. Данный пример использует FrameWork 2.0 для более старших версии используйте Find метод вот так&lt;br /&gt;
&lt;span style=&quot;color: #6fa8dc;&quot;&gt;MenuForOrder&amp;nbsp;&lt;/span&gt;findeditem&amp;nbsp;=&amp;nbsp;&amp;nbsp;lMenuForOrder.Find(finded =&amp;gt; finded.Id ==99999).&lt;br /&gt;
Жду Откликов.&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://easy-c-sharp.blogspot.com/feeds/7503895655418153739/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://easy-c-sharp.blogspot.com/2012/09/c-list.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4384354951592419386/posts/default/7503895655418153739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4384354951592419386/posts/default/7503895655418153739'/><link rel='alternate' type='text/html' href='http://easy-c-sharp.blogspot.com/2012/09/c-list.html' title='C# List &lt;T&gt;  и Как найти нужный элемент'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7LEIl2ADgTcz7Kn113EzYlYrGeBved8z0y_FZGY8aLKrb0FlXEpWcLYczJAUkEc9Pdz6Jq0G7xq7cMWgjr71alUBpKor20kEbx2IMkZ9Fo0ztpm4vl7f3MLsT7pK_NUCqawlmEztNeCQv/s72-c/1j.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4384354951592419386.post-417195823137021954</id><published>2012-07-18T14:51:00.003+04:00</published><updated>2012-07-19T10:40:26.681+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C# и Internet"/><title type='text'>Как создать браузер, работа с WebBrowser C#</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Для того, чтобы создать браузер необходимо создать приложение Windows Forms, которое включает в себя элементы управления Button, TextBox, Panel и конечно WebBrowser. Конечный пользователь должен набрать адрес веб страницы, а наш браузер должен отобразить документ.&lt;br&gt;
И так приведу список всех элементов.&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;&lt;a href=&quot;http://easy-c-sharp.blogspot.com/2012/07/webbrowser.html#more&quot;&gt;Дальше »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://easy-c-sharp.blogspot.com/feeds/417195823137021954/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://easy-c-sharp.blogspot.com/2012/07/webbrowser.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4384354951592419386/posts/default/417195823137021954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4384354951592419386/posts/default/417195823137021954'/><link rel='alternate' type='text/html' href='http://easy-c-sharp.blogspot.com/2012/07/webbrowser.html' title='Как создать браузер, работа с WebBrowser C#'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPti1vXXVmQIopyuE3dQE8g2YcBZ7wkT-PESr0NI8jvVFG3N3I8bmSeflayMPAu2lkMu8fT-C4-1YVs83sh1tsfDOfxGK4sWVmF__7OHLPK1vI7QBKGu3mPea8lcl25sSScOsv8yQ_B5iL/s72-c/%D0%9D%D0%BE%D0%B2%D1%8B%D0%B9+%D1%80%D0%B8%D1%81%D1%83%D0%BD%D0%BE%D0%BA+(2).bmp" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4384354951592419386.post-3553200304620412827</id><published>2012-07-14T11:31:00.002+04:00</published><updated>2012-07-14T11:31:49.881+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Шифрование"/><title type='text'>Как получить MD5 хеш файла, строки</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b style=&quot;line-height: 19px; text-align: -webkit-auto;&quot;&gt;MD5&lt;/b&gt;&lt;span style=&quot;line-height: 19px; text-align: -webkit-auto;&quot;&gt; (&lt;/span&gt;англ.&lt;span style=&quot;line-height: 19px; text-align: -webkit-auto;&quot;&gt; &lt;/span&gt;&lt;i style=&quot;line-height: 19px; text-align: -webkit-auto;&quot;&gt;&lt;span lang=&quot;en&quot; xml:lang=&quot;en&quot;&gt;Message Digest 5&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;line-height: 19px; text-align: -webkit-auto;&quot;&gt;) —&lt;span style=&quot;font-family: inherit;&quot;&gt; 128-битный алгоритм&lt;/span&gt; &lt;/span&gt;хеширования. На примере будет показано как получить хеш файла или строки.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;Необходимо&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt; добавить пространства имен &lt;/span&gt;&lt;span style=&quot;background-color: white;&quot;&gt;System.Security.Cryptography, &lt;/span&gt;&lt;span style=&quot;background-color: white;&quot;&gt;System.IO в директиву using.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Возвращает &lt;/span&gt;&lt;span style=&quot;background-color: white;&quot;&gt;MD5&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: inherit;&quot;&gt; хеш файла.&lt;/span&gt;&lt;/h4&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue;&quot;&gt;private string&lt;/span&gt;&lt;span style=&quot;background-color: white;&quot;&gt; ComputeFilesMD5(&lt;/span&gt;&lt;span style=&quot;background-color: white; color: blue;&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;background-color: white;&quot;&gt; path)&lt;/span&gt;&lt;/div&gt;
        {&lt;br&gt;
            &lt;span style=&quot;color: blue;&quot;&gt;using&lt;/span&gt; (&lt;span style=&quot;color: #6fa8dc;&quot;&gt;FileStream&lt;/span&gt; fs = &lt;span style=&quot;color: #6fa8dc;&quot;&gt;File&lt;/span&gt;.OpenRead(path))&lt;br&gt;
            {&lt;br&gt;
                &lt;span style=&quot;color: #6fa8dc;&quot;&gt;MD5&lt;/span&gt; md5 = &lt;span style=&quot;color: blue;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #6fa8dc;&quot;&gt;MD5CryptoServiceProvider&lt;/span&gt;();&lt;br&gt;
                &lt;span style=&quot;color: blue;&quot;&gt;byte&lt;/span&gt;[] filebytes = &lt;span style=&quot;color: blue;&quot;&gt;new byte&lt;/span&gt;[fs.Length];&lt;br&gt;
                fs.Read(filebytes, 0, (&lt;span style=&quot;color: blue;&quot;&gt;int&lt;/span&gt;)fs.Length);&lt;br&gt;
                &lt;span style=&quot;color: blue;&quot;&gt;byte&lt;/span&gt;[] Sum = md5.ComputeHash(filebytes);&lt;br&gt;
                &lt;span style=&quot;color: blue;&quot;&gt;string&lt;/span&gt; result = &lt;span style=&quot;color: #6fa8dc;&quot;&gt;BitConverter&lt;/span&gt;.ToString(Sum).Replace(&lt;span style=&quot;color: #cc0000;&quot;&gt;&amp;quot;-&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #6fa8dc;&quot;&gt;String&lt;/span&gt;.Empty);&lt;br&gt;
               &lt;span style=&quot;color: blue;&quot;&gt; return&lt;/span&gt; result;&lt;br&gt;
            }&lt;br&gt;
        }&lt;br&gt;
&lt;br&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
Получаем &lt;span style=&quot;background-color: white;&quot;&gt;MD5&lt;/span&gt;&lt;span style=&quot;background-color: white;&quot;&gt; хеш строки&lt;/span&gt;&lt;/h4&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;/span&gt;&lt;br&gt;
&lt;/div&gt;&lt;a href=&quot;http://easy-c-sharp.blogspot.com/2012/07/md5.html#more&quot;&gt;Дальше »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://easy-c-sharp.blogspot.com/feeds/3553200304620412827/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://easy-c-sharp.blogspot.com/2012/07/md5.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4384354951592419386/posts/default/3553200304620412827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4384354951592419386/posts/default/3553200304620412827'/><link rel='alternate' type='text/html' href='http://easy-c-sharp.blogspot.com/2012/07/md5.html' title='Как получить MD5 хеш файла, строки'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4384354951592419386.post-1193342124824443317</id><published>2012-06-08T15:26:00.002+04:00</published><updated>2012-06-08T16:42:01.215+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Шифрование"/><title type='text'>Библиотека Bouncy Castle и C#, шифрования RSA</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;b style=&quot;background-color: white; font-family: sans-serif; font-size: 13px; line-height: 19px; text-align: -webkit-auto;&quot;&gt;Bouncy Castle&lt;/b&gt;&lt;span style=&quot;background-color: white; font-family: sans-serif; font-size: 13px; line-height: 19px; text-align: -webkit-auto;&quot;&gt; — это набор &lt;/span&gt;API&lt;span style=&quot;background-color: white; font-family: sans-serif; font-size: 13px; line-height: 19px; text-align: -webkit-auto;&quot;&gt; используемого в &lt;/span&gt;криптографии&lt;span style=&quot;background-color: white; font-family: sans-serif; font-size: 13px; line-height: 19px; text-align: -webkit-auto;&quot;&gt;. Включает в себя интерфейсы для языков программирования &lt;/span&gt;Java&lt;span style=&quot;background-color: white; font-family: sans-serif; font-size: 13px; line-height: 19px; text-align: -webkit-auto;&quot;&gt; и &lt;/span&gt;C#&lt;span style=&quot;background-color: white; font-family: sans-serif; font-size: 13px; line-height: 19px; text-align: -webkit-auto;&quot;&gt;.&lt;/span&gt;
&lt;/div&gt;
Библиотеку Bouncy Castle можно скачать по этой &lt;a href=&quot;http://www.bouncycastle.org/csharp/&quot; target=&quot;_blank&quot;&gt;ссылке&lt;/a&gt;.&lt;br&gt;
Что такое RSA и как реализовать в .Net обсуждалось в теме &amp;quot;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;a href=&quot;http://easy-c-sharp.blogspot.com/2012/05/c-rsa.html&quot; target=&quot;_blank&quot;&gt;Асимметричное шифрование c# (RSA)&lt;/a&gt;&amp;quot;. В этой теме будем говорить как шифровать RSA ключом с помощью б&lt;/span&gt;иблиотеки Bouncy Castle. Надо заметить что .Net Framework не поддерживает работу с pem ключами, и для этого нам на помощь приходит библиотека Bouncy Castle.&lt;br&gt;
На примере увидим как шифровать RSA ключом, когда есть pem файлы.&lt;br&gt;
Сперва необходимо подключить пространства имен, а так же добавить ссылку на библиотеку Bouncy Castle.&lt;br&gt;
&lt;span style=&quot;color: blue;&quot;&gt;using&lt;/span&gt; System.IO;&lt;br&gt;
&lt;span style=&quot;color: blue;&quot;&gt;using&lt;/span&gt; System.Security.Cryptography;&lt;br&gt;
&lt;span style=&quot;color: blue;&quot;&gt;using&lt;/span&gt; Org.BouncyCastle.OpenSsl;&lt;br&gt;
&lt;span style=&quot;color: blue;&quot;&gt;using&lt;/span&gt; Org.BouncyCastle.Crypto;&lt;br&gt;
&lt;span style=&quot;color: blue;&quot;&gt;using&lt;/span&gt; Org.BouncyCastle.Security;&lt;br&gt;
&lt;span style=&quot;color: blue;&quot;&gt;using&lt;/span&gt; Org.BouncyCastle.Crypto.Parameters;&lt;br&gt;
&lt;br&gt;
Как нам известно будем шифровать публичном ключом и расшифровать приватном.&lt;br&gt;
Для шифровки напишем следующий код&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
                &lt;span style=&quot;color: #6fa8dc;&quot;&gt;StreamReader&lt;/span&gt; sr = &lt;span style=&quot;color: blue;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #6fa8dc;&quot;&gt;StreamReader&lt;/span&gt;(&lt;span style=&quot;color: #e06666;&quot;&gt;&amp;quot;public.pem&amp;quot;&lt;/span&gt;); //Надо указать путь к pem  файлу&lt;br&gt;
                &lt;span style=&quot;color: #6fa8dc;&quot;&gt;PemReader&lt;/span&gt; pr = &lt;span style=&quot;color: blue;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #6fa8dc;&quot;&gt;PemReader&lt;/span&gt;(sr);&lt;br&gt;
                &lt;span style=&quot;color: #6fa8dc;&quot;&gt;RsaKeyParameters&lt;/span&gt; KeyPair = (&lt;span style=&quot;color: #6fa8dc;&quot;&gt;RsaKeyParameters&lt;/span&gt;)pr.ReadObject();&lt;br&gt;
                &lt;span style=&quot;color: #6fa8dc;&quot;&gt;RSAParameters&lt;/span&gt; rsapar = &lt;span style=&quot;color: blue;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #6fa8dc;&quot;&gt;RSAParameters&lt;/span&gt;();&lt;br&gt;
                sr.Close();&lt;br&gt;
                rsapar.Modulus = KeyPair.Modulus.ToByteArrayUnsigned();&lt;br&gt;
                rsapar.Exponent = KeyPair.Exponent.ToByteArrayUnsigned();&lt;br&gt;
                &lt;span style=&quot;color: #6fa8dc;&quot;&gt;RSACryptoServiceProvider&lt;/span&gt; rsa =&lt;span style=&quot;color: blue;&quot;&gt; new&lt;/span&gt; &lt;span style=&quot;color: #6fa8dc;&quot;&gt;RSACryptoServiceProvider&lt;/span&gt;();&lt;br&gt;
                rsa.ImportParameters(rsapar);&lt;br&gt;
                encrypted = rsa.Encrypt(&lt;span style=&quot;color: #6fa8dc;&quot;&gt;Encoding&lt;/span&gt;.Default.GetBytes(&lt;span style=&quot;color: #e06666;&quot;&gt;&amp;quot;HELLO WORLD&amp;quot;&lt;/span&gt;), &lt;span style=&quot;color: blue;&quot;&gt;false&lt;/span&gt;);&lt;br&gt;
                &lt;span style=&quot;color: blue;&quot;&gt;string&lt;/span&gt; enc = &lt;span style=&quot;color: #6fa8dc;&quot;&gt;Convert&lt;/span&gt;.ToBase64String(encrypted);&lt;br&gt;
&lt;br&gt;
В строке enc содержится уже зашифрованная строка HELLO WORLD в виде Base64. Преобразование шифрованной строки в Base64 необязательно, но строку Base64 можно сохранить и опять преобразовать в байты без каких либо потерь.&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;&lt;a href=&quot;http://easy-c-sharp.blogspot.com/2012/06/bouncy-castle-c-rsa.html#more&quot;&gt;Дальше »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://easy-c-sharp.blogspot.com/feeds/1193342124824443317/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://easy-c-sharp.blogspot.com/2012/06/bouncy-castle-c-rsa.html#comment-form' title='Комментарии: 13'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4384354951592419386/posts/default/1193342124824443317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4384354951592419386/posts/default/1193342124824443317'/><link rel='alternate' type='text/html' href='http://easy-c-sharp.blogspot.com/2012/06/bouncy-castle-c-rsa.html' title='Библиотека Bouncy Castle и C#, шифрования RSA'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4384354951592419386.post-5011880151881101757</id><published>2012-05-07T15:07:00.000+04:00</published><updated>2012-06-08T16:42:01.217+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Шифрование"/><title type='text'>Асимметричное шифрование c# (RSA)</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br&gt;
&lt;h3 style=&quot;font-size: xx-large; text-align: left;&quot;&gt;




&lt;span style=&quot;font-family: inherit; font-size: large;&quot;&gt;RSA – алгоритм шифрования с открытым ключом&lt;/span&gt;&lt;/h3&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;В данной статье описан асимметричный алгоритм шифрования RSA. Рассмотрено описание RSA, и всё, что требуется для реализации RSA: рекомендации по выбору размеров блока данных и ключей, работа с числами большой разрядности, алгоритмы выработки простых чисел, нахождения наибольшего общего делителя, возведения числа в большую степень, работа с отрицательными числами.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;RSA относится к так называемым асимметричным алгоритмам, у которых ключ шифрования не совпадает с ключом дешифровки. Один из ключей доступен всем (так делается специально) и называется открытым ключом, другой хранится только у его хозяина и неизвестен никому другому. С помощью одного ключа можно производить операции только в одну сторону. Если сообщение зашифровано с помощью одного ключа, то расшифровать его можно только с помощью другого. Имея один из ключей невозможно (очень сложно) найти другой ключ, если разрядность ключа высока.&lt;/span&gt;&lt;/div&gt;
&lt;h2 style=&quot;font-size: x-large;&quot;&gt;




&lt;span style=&quot;font-family: inherit;&quot;&gt;Описание RSA&lt;/span&gt;&lt;/h2&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Алгоритм RSA состоит из следующих пунктов:&lt;/span&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Выбрать простые числа p и q&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Вычислить n = p * q&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Вычислить m = (p - 1) * (q - 1)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Выбрать число d взаимно простое с m&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Выбрать число e так, чтобы e * d = 1 (mod m)&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;/span&gt;&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;a href=&quot;http://easy-c-sharp.blogspot.com/2012/05/c-rsa.html#more&quot;&gt;Дальше »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://easy-c-sharp.blogspot.com/feeds/5011880151881101757/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://easy-c-sharp.blogspot.com/2012/05/c-rsa.html#comment-form' title='Комментарии: 11'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4384354951592419386/posts/default/5011880151881101757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4384354951592419386/posts/default/5011880151881101757'/><link rel='alternate' type='text/html' href='http://easy-c-sharp.blogspot.com/2012/05/c-rsa.html' title='Асимметричное шифрование c# (RSA)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4384354951592419386.post-7029339800849399835</id><published>2012-05-07T13:08:00.001+04:00</published><updated>2019-11-13T21:00:08.469+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Разное"/><title type='text'>Как отправить SMS C#</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;SMS (&lt;a href=&quot;http://ru.wikipedia.org/wiki/SMS&quot; target=&quot;_blank&quot;&gt;Short Message Service&lt;/a&gt;) возможно отправить в двух форматах. Один из форматов это текстовый, и другой  PDU (Protocol Description Unit). Текстовый формат достаточно прост и из-за простоты у него есть достаточно много ограничении. Например, в текстовом режиме нет доступа к настройкам параметров сообщения, а также нет возможности отправлять сообщение русскими буквами. Самый большой минус текстового формата то, что не все оборудование поддерживают его. Учитывая все вышесказанные причины обратим наш взор на формат PDU.&lt;/span&gt;&lt;br&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;PDU формат достаточно запутан, но при этом он дает возможность употребить все потенциалы SMS. PDU содержит не только сообщения, но также много мета-информации об отправителе, его SMS-сервис центре, штампе времени и т.д. &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Для отправки sms используют две основные кодировки: 7-битная и UCS2. Первая из кодировок используется для отправки &lt;a href=&quot;http://ru.wikipedia.org/wiki/ASCII&quot; target=&quot;_blank&quot;&gt;ASCII&lt;/a&gt; символов. Данная кодировка дает возможность отправить 140 байт информации, но если ее преобразовать в 8-битный вид мы сможем отправить целых 160 ASCII символов. В кодировке UCS2 есть возможность отправить сообщение русскими буквами, каждый символ кодируется двумя байтами и поэтому можно отправить всего 70 символов.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;&lt;/div&gt;&lt;a href=&quot;http://easy-c-sharp.blogspot.com/2012/05/sms-c.html#more&quot;&gt;Дальше »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://easy-c-sharp.blogspot.com/feeds/7029339800849399835/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://easy-c-sharp.blogspot.com/2012/05/sms-c.html#comment-form' title='Комментарии: 8'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4384354951592419386/posts/default/7029339800849399835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4384354951592419386/posts/default/7029339800849399835'/><link rel='alternate' type='text/html' href='http://easy-c-sharp.blogspot.com/2012/05/sms-c.html' title='Как отправить SMS C#'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4384354951592419386.post-6568941001016006480</id><published>2012-04-20T21:57:00.002+04:00</published><updated>2013-07-03T00:42:45.411+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C# и Internet"/><title type='text'>WebRequest и WebResponse</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Пространства имен System.Net предлагает нам классы WebRequest и WebResponse, которые как и WebClient позволяют загружать Web-страницы. Эти классы позволяют решать более серьезные задачи чем WebClient, например вопросы связанные с аутентификацией.&lt;br&gt;
Теперь посмотрим пример как с помощью классов WebRequest и WebResponse загрузить Web-страницу, а также, как можно воспользоваться преимуществами дополнительных свойств HTTP.&lt;br&gt;
&lt;br&gt;
            &lt;span style=&quot;color: #6fa8dc;&quot;&gt;WebRequest&lt;/span&gt; wreq = &lt;span style=&quot;color: #6fa8dc;&quot;&gt;WebRequest&lt;/span&gt;.Create(&lt;span style=&quot;color: #e06666;&quot;&gt;&amp;quot;http://soft-a.pro&amp;quot;&lt;/span&gt;);&lt;br&gt;
           &lt;span style=&quot;color: #6fa8dc;&quot;&gt; WebResponse&lt;/span&gt; wresp = wreq.GetResponse();&lt;br&gt;
            &lt;span style=&quot;color: #6fa8dc;&quot;&gt;Stream&lt;/span&gt; stream = wresp.GetResponseStream();&lt;br&gt;
            &lt;span style=&quot;color: #6fa8dc;&quot;&gt;StreamReader&lt;/span&gt; sr = &lt;span style=&quot;color: blue;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #6fa8dc;&quot;&gt;StreamReader&lt;/span&gt;(stream);&lt;br&gt;
            &lt;span style=&quot;color: blue;&quot;&gt;string&lt;/span&gt; L;&lt;br&gt;
            &lt;span style=&quot;color: blue;&quot;&gt;while&lt;/span&gt; ((L = sr.ReadLine()) != &lt;span style=&quot;color: blue;&quot;&gt;null&lt;/span&gt;)&lt;br&gt;
            {&lt;br&gt;
                listBox1.Items.Add(L);&lt;br&gt;
&lt;br&gt;
            }&lt;br&gt;
            sr.Close();&lt;br&gt;
            wresp.Close();&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;&lt;a href=&quot;http://easy-c-sharp.blogspot.com/2012/04/webrequest-webresponse.html#more&quot;&gt;Дальше »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://easy-c-sharp.blogspot.com/feeds/6568941001016006480/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://easy-c-sharp.blogspot.com/2012/04/webrequest-webresponse.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4384354951592419386/posts/default/6568941001016006480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4384354951592419386/posts/default/6568941001016006480'/><link rel='alternate' type='text/html' href='http://easy-c-sharp.blogspot.com/2012/04/webrequest-webresponse.html' title='WebRequest и WebResponse'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4384354951592419386.post-4719733650590809346</id><published>2012-04-17T22:30:00.002+04:00</published><updated>2012-04-20T22:04:29.255+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C# и Internet"/><title type='text'>Класс WebClient</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Для работы в интернет пространстве .Net  представляет нам достаточно много классов, и сегодня рассмотрим один из них.&lt;br&gt;
Если необходимо запросить некий файл с определенного &lt;a href=&quot;http://ru.wikipedia.org/wiki/Url&quot; target=&quot;_blank&quot;&gt;URL (Uniform Resource Locator)&lt;/a&gt;, на помощь к нам придет один из простейших классов &lt;strong&gt; System.Net.WebClient&lt;/strong&gt;.&lt;br&gt;
.Net Framework поддерживает URL  начинавшиеся с идентификатора http:,https:,file:.&lt;br&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;





Загрузка файла из Web. &lt;/h2&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
WebClient представляет нам два метода для загрузки файлов. Смотря как необходимо обрабатывать содержимое загружаемого файла вам понадобится выбрать один из двух методов.&lt;br&gt;
Если надо просто сохранить файл на диск используйте DownloadFile() метод. Метод принимает два параметра - &lt;a href=&quot;http://ru.wikipedia.org/wiki/URI&quot; target=&quot;_blank&quot;&gt;URI&lt;/a&gt; файла и место для сохранения файла (путь и имя).&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;a href=&quot;http://easy-c-sharp.blogspot.com/2012/04/webclient.html#more&quot;&gt;Дальше »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://easy-c-sharp.blogspot.com/feeds/4719733650590809346/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://easy-c-sharp.blogspot.com/2012/04/webclient.html#comment-form' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4384354951592419386/posts/default/4719733650590809346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4384354951592419386/posts/default/4719733650590809346'/><link rel='alternate' type='text/html' href='http://easy-c-sharp.blogspot.com/2012/04/webclient.html' title='Класс WebClient'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZT9_XbqZKgqdlMPBXNk0x_gCY5puYupgA3XE21iUk6Jr4s4HdQE8BTRKEmt3fDEBLo5cACApkIVH4dOr1tH_fa7W_eviNUWbWj7LYIY9QZNagrQViKYQPsLmjKq6zf-i48VCd3sEJCa3F/s72-c/%D0%9D%D0%BE%D0%B2%D1%8B%D0%B9+%D1%80%D0%B8%D1%81%D1%83%D0%BD%D0%BE%D0%BA.bmp" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4384354951592419386.post-2751270795351806973</id><published>2012-04-10T15:10:00.002+04:00</published><updated>2012-06-08T16:42:01.216+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Шифрование"/><title type='text'>Шифрование строки подключения в C# (DAPI)</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;background-color: white; font-family: verdana, tahoma, helvetica, arial;&quot;&gt;     &lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;Ниже приведен пример, который показывает один из вариантов защитить строку подключения в своем конфигурационном файле. При этом необходимо воспользоваться Data Protection API (DAPI). DAPI является частью операционной системы который включен начиная с Windows 2000. &lt;/span&gt;&lt;/span&gt;&lt;br&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;background-color: white; font-family: inherit;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;     Допустим, нам необходимо зашифровать данные, хранящиеся в секции connectionStrings. Для этого мы воспользуемся классом DataProtectionConfigurationProvider, также надо добавить новую запись в секцию с именем connection. Следующим шагом п&lt;/span&gt;&lt;span style=&quot;background-color: white;&quot;&gt;одключим к нашему проекту сборку System.Configuration.dll и в коде добавим пространства имен System.Configuration для работы со секциями.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: -webkit-auto;&quot;&gt;
&lt;span style=&quot;font-family: verdana, tahoma, helvetica, arial;&quot;&gt;&lt;/span&gt;&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;a href=&quot;http://easy-c-sharp.blogspot.com/2012/04/c-dapi.html#more&quot;&gt;Дальше »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://easy-c-sharp.blogspot.com/feeds/2751270795351806973/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://easy-c-sharp.blogspot.com/2012/04/c-dapi.html#comment-form' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4384354951592419386/posts/default/2751270795351806973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4384354951592419386/posts/default/2751270795351806973'/><link rel='alternate' type='text/html' href='http://easy-c-sharp.blogspot.com/2012/04/c-dapi.html' title='Шифрование строки подключения в C# (DAPI)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4384354951592419386.post-7516506609242745966</id><published>2012-04-09T18:22:00.001+04:00</published><updated>2017-10-14T21:54:03.021+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Графика"/><title type='text'>Загрузка рисунка</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
     &lt;span style=&quot;font-size: large;&quot;&gt;Простой способ загрузки рисунка и освобождения памяти !&lt;/span&gt;&lt;/h2&gt;
Ниже приведен метод загрузки и одновременно освобождении памяти,  который возвращает объект типа Image.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style=&quot;color: blue;&quot;&gt;public static&lt;/span&gt;&lt;span style=&quot;color: cyan;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #6fa8dc;&quot;&gt;Image&lt;/span&gt; LoadImage(&lt;span style=&quot;color: blue;&quot;&gt;string&lt;/span&gt; path)&lt;br&gt;
        {&lt;br&gt;
            &lt;span style=&quot;color: blue;&quot;&gt;using&lt;/span&gt; (&lt;span style=&quot;color: #6fa8dc;&quot;&gt;MemoryStream&lt;/span&gt; ms = &lt;span style=&quot;color: blue;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #6fa8dc;&quot;&gt;MemoryStream&lt;/span&gt;(&lt;span style=&quot;color: #6fa8dc;&quot;&gt;File&lt;/span&gt;.ReadAllBytes(path)))&lt;br&gt;
            {&lt;br&gt;
                &lt;span style=&quot;color: blue;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: #6fa8dc;&quot;&gt;Image&lt;/span&gt;&lt;/span&gt;.FromStream(ms);&lt;br&gt;
            }&lt;br&gt;
        }&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;&lt;a href=&quot;http://easy-c-sharp.blogspot.com/2012/04/blog-post_09.html#more&quot;&gt;Дальше »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://easy-c-sharp.blogspot.com/feeds/7516506609242745966/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://easy-c-sharp.blogspot.com/2012/04/blog-post_09.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4384354951592419386/posts/default/7516506609242745966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4384354951592419386/posts/default/7516506609242745966'/><link rel='alternate' type='text/html' href='http://easy-c-sharp.blogspot.com/2012/04/blog-post_09.html' title='Загрузка рисунка'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4384354951592419386.post-1235006988695864895</id><published>2012-04-07T22:45:00.001+04:00</published><updated>2012-04-19T19:52:17.634+04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Объекты и классы"/><title type='text'>Объекты и классы</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;text-align: -webkit-auto;&quot;&gt;
     Начинающие осваивать ООП, часто путают термины &amp;quot;объект&amp;quot; и &amp;quot;класс&amp;quot;. &lt;/div&gt;
&lt;div style=&quot;text-align: -webkit-auto;&quot;&gt;
     Есть разные трактовки термина &amp;quot;класс&amp;quot;, показывающие, в частности, чем класс отличается от объекта. Считайте, что класс — это просто новый тип данных (как &lt;i&gt;&lt;span style=&quot;color: blue;&quot;&gt;char&lt;/span&gt;, &lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;int&lt;/span&gt;&lt;/span&gt; &lt;/i&gt;или &lt;i&gt;&lt;span style=&quot;color: blue;&quot;&gt;long&lt;/span&gt;), &lt;/i&gt;с которым связаны некие методы. Объект же — это экземпляр типа, или класса. Но мне больше по душе определение класса как чертежа объекта. Как разработчик объекта, вы сначала создаете его &amp;quot;чертеж&amp;quot;, так же как инженер-строитель чертит план дома. Имея такой чертеж, вы располагаете всего лишь проектом дома этого типа. Однако те, кто приобрел этот чертеж, могут по нему построить себе дом. Таким же образом на базе класса — &amp;quot;чертежа&amp;quot; набора функциональных возможностей — можно создать объект, обладающий всеми возможностями этого класса.&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;a href=&quot;http://easy-c-sharp.blogspot.com/2012/04/blog-post_07.html#more&quot;&gt;Дальше »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://easy-c-sharp.blogspot.com/feeds/1235006988695864895/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://easy-c-sharp.blogspot.com/2012/04/blog-post_07.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4384354951592419386/posts/default/1235006988695864895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4384354951592419386/posts/default/1235006988695864895'/><link rel='alternate' type='text/html' href='http://easy-c-sharp.blogspot.com/2012/04/blog-post_07.html' title='Объекты и классы'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4384354951592419386.post-4303905523033177967</id><published>2012-04-07T13:06:00.003+04:00</published><updated>2012-04-12T15:44:57.914+04:00</updated><title type='text'>Добро Пожаловать!!!</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
В этом блоге будем говорить о плюсах и иногда :) о минусах&amp;nbsp;&lt;span style=&quot;background-color: white; font-family: sans-serif; font-size: 13px; line-height: 19px; text-align: -webkit-auto;&quot;&gt;C# который разрабатывался как язык программирования прикладного уровня.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: sans-serif; font-size: 13px; line-height: 19px; text-align: -webkit-auto;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: sans-serif; font-size: 13px; line-height: 19px; text-align: -webkit-auto;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: sans-serif; font-size: 13px; line-height: 19px; text-align: -webkit-auto;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: sans-serif; font-size: 13px; line-height: 19px; text-align: -webkit-auto;&quot;&gt;&lt;a href=&quot;http://soft-a.pro/&quot; target=&quot;_blank&quot;&gt;Автоматизация ресторанного бизнеса&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://easy-c-sharp.blogspot.com/feeds/4303905523033177967/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://easy-c-sharp.blogspot.com/2012/04/blog-post.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4384354951592419386/posts/default/4303905523033177967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4384354951592419386/posts/default/4303905523033177967'/><link rel='alternate' type='text/html' href='http://easy-c-sharp.blogspot.com/2012/04/blog-post.html' title='Добро Пожаловать!!!'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>