Начиная с то, что Вы желаете сделать, добавляет управление зависимостью к существующему проекту Муравья, это точно, что Ivy разработала, чтобы сделать. Управление зависимостью является большой частью Знатока, но далекий от всего этого. Знаток является большим количеством ориентированного на проект инструмента, который делает несколько других вещей в дополнение к зависимостям. Это было бы достойно рассмотрения, если бы Вы планировали мигрировать на Знатока и использовать дополнительные функции Maven также, но это - слишком, если все, для чего Вы использовали бы его, должно отделить Муравья.
Ваш тип зависимостей и Ваши ожидания того, как они ведут себя, будут также иметь значение. Получение по запросу сторонних зависимостей почти тривиально в Знатоке, в то время как Ivy выделяется в восстановлении Ваших собственных зависимых компонентов. В любом случае инструменты не обеспечат достойную сборку, управление версиями и репозиторий политики , те все еще ваше дело и необходимы для разбираний в конфигурации.
Решение, предложенное моей девушкой, - это вариант сортировки слиянием. Единственная модификация заключается в том, что на этапе слияния просто игнорируйте повторяющиеся значения. Это решение также будет O (n log n). В этом подходе сортировка / удаление дубликатов объединены. Однако я не уверен, что это имеет значение.
Пока вы не начнете перебирать его (явно или с помощью вызова типа Count ()
), ничто не проверяло, есть ли результаты или нет. Только когда вы перечисляете его, что-нибудь произойдет.
Таким образом, вы можете сделать:
foreach (int x in results)
{
Console.WriteLine("This won't happen");
}
Или:
Console.WriteLine(results.Any()); // Will print false
Console.WriteLine(results.Count()); // Will print 0
Любой из них приведет к тому, что предикат будет оцениваться по каждому элементу в диапазоне ... но до этого, он вообще не будет вызываться.
Это важно понять, потому что это означает, что результаты
не могут быть нулевыми
, сохраняя при этом свойство ленивая оценка - пока вы не попытаетесь использовать результаты
, не получится, должно ли оно быть нулевым
или нет!
В этом случае он возвращает IEnumerable
со счетом 0 элементов.