Замеры выполнения кода

Август 23rd, 2011 § 0 comments § Прямая ссылка

Для таких нужд используются профайлеры, но бывает нужно оценить скорость выполнения того или иного запроса/операции. Для этого следует использовать System.Diagnostics.Stopwatch. Дает достаточно точные результаты, в отличие от того же таймера, т.к. для замеров собственно этот класс и создан. Пример использования:

System.Diagnostics.Stopwatch sw = new Stopwatch();
sw.Start();
...
sw.Stop();

Не забываем после этого делать sw.Reset(); иначе время будет суммироваться, что бы получить, замеренное время используем sw.Elapsed;

Получить аргументы, переданные в консоле

Август 23rd, 2011 § 0 comments § Прямая ссылка

Вообще тут ничего сложного кроме как одного нюанса, который полезно знать. Первое получить можно аргументы двумя способами.

string[] arguments = Environment.GetCommandLineArgs();

//------
static void Main(string[] args)
{
foreach (string arg in args)
{
...
}
}

Разница в них в том, что в первом варианте мы всегда получим первый аргумент, которым будет имя запущенной программы (абсолютное), во втором в массиве будут только аргументы. Не стоит забывать об этом. Enjoy C#.

Полезный класс для работы с ini файлами

Август 12th, 2011 § 4 comments § Прямая ссылка

В общем-то, на дворе 21 век, и все уже перешли на xml и ini силами так же самого Microsoft’а отмирает. Может и так, но я думаю, что для небольших настроек лучше ini, xml это из “пушки по воробьям”. В C# встроенное поддержке ini не предусмотрено, но нам ничего не мешает воспользоваться WinAPI. Ниже приведен класс для работы с ini использующий WinAPI.

Continue reading “Полезный класс для работы с ini файлами” »

Шаблон проектирования Абстрактная фабрика (Abstract Factory)

Август 11th, 2011 § 2 comments § Прямая ссылка

Разберем шаблон проектирования Абстрактная фабрика, паттерн относится к группе порождающих паттернов и применяется для создания семейств связанных или не связанных между собой групп объектов, конкретные классы которых не известны. Ниже приведен код на C++/C#.

Continue reading “Шаблон проектирования Абстрактная фабрика (Abstract Factory)” »

Шаблон проектирование Декоратор(Decorator || Wraper)

Август 5th, 2011 § 1 comment § Прямая ссылка

Сегодня мы разберем шаблон проектирования Декоратор по другому его еще называю Врапер. Этот паттерн относится к группе структурных применяется для расширения функциональность и является гибкой альтернативой порожадению подклассов. Ниже привожу исходник на C++/C#

Continue reading “Шаблон проектирование Декоратор(Decorator || Wraper)” »

Шаблон проектирования Стратегия(Strategy)

Июль 22nd, 2011 § 1 comment § Прямая ссылка

Сегодня разберем паттерн проектирования Стратегия (Strategy). Паттерн относится к группе паттернов поведения. Применяется в том случае когда нам надо инкапсулировать семейство алгоритмов, подставляя один в место другого, меня алгоритм вне зависимости от клиента. Ниже приводу пример на C++/C#.

Continue reading “Шаблон проектирования Стратегия(Strategy)” »

Шаблон проектирования Компоновщик(Composite)

Июль 20th, 2011 § 0 comments § Прямая ссылка

Начал изучать паттерны и первый который мне встретился это паттерн Компоновщик (Composite). Особенности паттерна относится к структурным паттернам, применяется для группировки объектов в древовидные структуры, позволяет клиентам работать с группой так же как и с одним. Ниже приведу реализацию на С++ и С#.

Continue reading “Шаблон проектирования Компоновщик(Composite)” »

Исчерпывающие ссылки о многопоточности

Июнь 27th, 2011 § 0 comments § Прямая ссылка

Тема про многоопытность уже была мною создана тут, но вот список ссылок исчерпывающие по теме (хотя может и громко сказано). Периодически буду обновлять

“Работа с потоками” Джозеф Албахари.

1.Работа с потоками в C# (часть первая)

2.Работа с потоками в C# (часть вторая)

3.Работа с потоками в C# (часть третья)

4.Работа с потоками в C# (часть четвертая)

5.Работа с потоками в C# (часть пятая)

6.Работа с потоками в C# (часть пятая продолжение)

MSDN

1.Threading Tutorial

2.Safe, Simple Multithreading in Windows Forms, Part 1

3.Safe, Simple Multithreading in Windows Forms, Part 2

4.Safe, Simple Multithreading in Windows Forms, Part 3

Блоги

1.Проблемы в многопоточной разработке.

Список бесплатных компонент для .NET Framework

Июнь 24th, 2011 § 0 comments § Прямая ссылка

http://www.donhost.ru/info/component.web
http://msdn2.microsoft.com/ru-ru/asp.net/aa336556.aspx
http://www.blocks4.net/FreeProducts/FreeProducts0.aspx
http://forum.download.ru/index.php?showforum=84
http://www.nicekit.com/ru/netcomponents.htm
http://www.donhost.ru/info/component.web
http://www.devexpress.com/free (40 бесплатных компонент от DevExpress)
http://www.accelerated-ideas.com/NET/aiFreeNETComponents_Main.aspx
взято от сюда

Проверка элемента в массиве

Июнь 24th, 2011 § 0 comments § Прямая ссылка

На CodeProject нашел хороший пример того как можно проверить наличие элемента в массиве, не прибегая к составлению свои функций. Думаю это полезно, ниже код. В первом случае мы получим, истину в случае успеха, во втором индекс вхождения элемента в случае успеха или -1 в обратном случае.Ссылка на оригинал тут.

string[] arr = new string[] { “RR US”, “RR India”, “RR UK” };
if (!((IList<string>)arr).Contains(“India”))
{
     System.Console.WriteLine ("Correct! We are working with RR India");
}

string[] arr = new[] {"item4", "test", "item 3", "item", "beer"};
int index = Array.IndexOf(arr, "item");
bool exists = Array.IndexOf(arr, "item") >= 0;
Смотреть фильмы онлайн