Ответы пользователя alex.algel - CodeHelper

alex.algel

alex.algel
Карма 575
Имя Алексей
Возраст Неизвестно
Сайт http://alexey-algel.blogspot.com
Twitter Неизвестно
Участвует в проекте 1022 дн., 13 час., 51 мин.
Последняя активность 683 дн., 4 час., 57 мин. назад
О себе ничего не указано

Ответы

Новые Лучшие
1
2
3
4
Перейти к вопросу →

Еще очень хорошая книга Технология разработки программного обеспечения. Брауде Эрик Дж.. Основное достоинство книги - ВСЕСТОРОННЕЕ описание процесса создания ПО. После нее хорошо представляешь себе картину в целом, а не разрозненными кусками.

alt text

Перейти к вопросу →

Migrator.Net — это механизм контроля версий базы данных, похожий на Migrations в Ruby on Rails. Migrator позволяет автоматизировать выполнение операций изменения БД и автоматически ведет учет версий.

Migrator написан на C# и будет удобен, в первую очередь, при использовании в проектах под.NET.

Ссылка на статью на хабре: http://habrahabr.ru/blogs/net/70884/ Ссылка на проект: http://code.google.com/p/migratordotnet/ и http://code.google.com/p/ecm7migrator/

Перейти к вопросу →

Все зависит от задачи. List<T> по сути является оберткой вокруг массива. Поэтому если размер заранее известен и не требуется его изменение, то вполне можно обойтись массивом. В то же время, если вы решите использовать коллекцию объектов в качестве источника данных для элементов управления, то лучше будет использовать List, в этом случае будет возможность интерактивно добавлять новые элементы.

Перейти к вопросу →

На эту тему достаточно подробно все расписано в МСДН

Перейти к вопросу →

Еще вариант в виде extension:

public static void Randomize<T>(this IList<T> target)
    {
        Random RndNumberGenerator = new Random();
        SortedList<int, T> newList = new SortedList<int, T>();
        foreach (T item in target)
        {
            newList.Add(RndNumberGenerator.Next(), item);
        }
        target.Clear();
        for (int i = 0; i < newList.Count; i++)
        {
            target.Add(newList.Values[i]);
        }
    }

Взято здесь

Перейти к вопросу →

На самом деле я тестировал производительность запросов к DataTable и могу сказать, что Linq показал себя очень плохо... Если посмотреть через Reflector, то можно увидеть, что расширение LinqToDataSet всего лишь добавляет extension method AsEnumerable() к DataTable, для того чтобы задействовать стандартную инфраструктуру LinqToObjects.

Перейти к вопросу →

Да, сразу после инсерта делаешь Select @@IDENTITY

@@IDENTITY - Это системная функция, которая возвращает значение идентификатора, вставленное последним.

Подробнее можно почитать в МСДН

Перейти к вопросу →

В enum можно явно задать значения для каждого элемента:

enum Colors { Red = 1, Green = 2, Blue = 4, Yellow = 8 };

Таким образом, уходит проблема с добавлением новых элементов.

Перейти к вопросу →

Мне кажется второй вариант вполне может быть применим к методам, возвращающим коллекции списки и т.п. Например есть метод возвращающий список каких-то объектов из базы. И если данные не были найдены, то логично было бы вернуть пустой список. В этом случае в вызывающем коде не нужно делать проверку на null.

Перейти к вопросу →

При использовании throw; StackTrace будет включать метод, который сгенерировал исключение, а при throw e; стек вызовов оборвется на том методе, который его отловил.

Ссылка по теме (на английском)


1
2
3
4
v1.7.123.556
© 2009—2010 CodeHelper FAQ | О сайте | Обратная связь | История изменений | Статьи
Creative Commons LicenseМатериалы сайта распространяются под лицензией Creative Commons Attribution-Share Alike 3.0 Unported.