Август 23rd, 2011 § § Прямая ссылка
Для таких нужд используются профайлеры, но бывает нужно оценить скорость выполнения того или иного запроса/операции. Для этого следует использовать System.Diagnostics.Stopwatch. Дает достаточно точные результаты, в отличие от того же таймера, т.к. для замеров собственно этот класс и создан. Пример использования:
System.Diagnostics.Stopwatch sw = new Stopwatch();
sw.Start();
...
sw.Stop();
Не забываем после этого делать sw.Reset(); иначе время будет суммироваться, что бы получить, замеренное время используем sw.Elapsed;
Август 23rd, 2011 § § Прямая ссылка
Вообще тут ничего сложного кроме как одного нюанса, который полезно знать. Первое получить можно аргументы двумя способами.
string[] arguments = Environment.GetCommandLineArgs();
//------
static void Main(string[] args)
{
foreach (string arg in args)
{
...
}
}
Разница в них в том, что в первом варианте мы всегда получим первый аргумент, которым будет имя запущенной программы (абсолютное), во втором в массиве будут только аргументы. Не стоит забывать об этом. Enjoy C#.
Август 12th, 2011 § § Прямая ссылка
В общем-то, на дворе 21 век, и все уже перешли на xml и ini силами так же самого Microsoft’а отмирает. Может и так, но я думаю, что для небольших настроек лучше ini, xml это из “пушки по воробьям”. В C# встроенное поддержке ini не предусмотрено, но нам ничего не мешает воспользоваться WinAPI. Ниже приведен класс для работы с ini использующий WinAPI.
Continue reading “Полезный класс для работы с ini файлами” »
Август 11th, 2011 § § Прямая ссылка
Разберем шаблон проектирования Абстрактная фабрика, паттерн относится к группе порождающих паттернов и применяется для создания семейств связанных или не связанных между собой групп объектов, конкретные классы которых не известны. Ниже приведен код на C++/C#.
Continue reading “Шаблон проектирования Абстрактная фабрика (Abstract Factory)” »
Август 5th, 2011 § § Прямая ссылка
Сегодня мы разберем шаблон проектирования Декоратор по другому его еще называю Врапер. Этот паттерн относится к группе структурных применяется для расширения функциональность и является гибкой альтернативой порожадению подклассов. Ниже привожу исходник на C++/C#
Continue reading “Шаблон проектирование Декоратор(Decorator || Wraper)” »
Июль 22nd, 2011 § § Прямая ссылка
Сегодня разберем паттерн проектирования Стратегия (Strategy). Паттерн относится к группе паттернов поведения. Применяется в том случае когда нам надо инкапсулировать семейство алгоритмов, подставляя один в место другого, меня алгоритм вне зависимости от клиента. Ниже приводу пример на C++/C#.
Continue reading “Шаблон проектирования Стратегия(Strategy)” »
Июль 20th, 2011 § § Прямая ссылка
Начал изучать паттерны и первый который мне встретился это паттерн Компоновщик (Composite). Особенности паттерна относится к структурным паттернам, применяется для группировки объектов в древовидные структуры, позволяет клиентам работать с группой так же как и с одним. Ниже приведу реализацию на С++ и С#.
Continue reading “Шаблон проектирования Компоновщик(Composite)” »
Июнь 27th, 2011 § § Прямая ссылка
Июнь 24th, 2011 § § Прямая ссылка
Июнь 24th, 2011 § § Прямая ссылка
На 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;