Я бы настоятельно рекомендовал избегать Solr родитель / дочерние отношения. Мы решили использовать их в Solr 5.3.1, и оказалось, что, хотя большая часть функциональности присутствует, в Solr существует ряд неприятных ошибок, начиная с 4.x, которые остаются нефиксированными, включая
По этим причинам, если это вообще возможно, я настоятельно рекомендую ИЗБЕГАТЬ, используя дочерние документы. Даже если эти проблемы вас не коснутся сейчас, они будут решаться в будущем в какой-то момент, и ясно, что они не были исправлены в 3-4 основных версиях, что в продукте нет реальной поддержки для дочерних документов. Извините, что несу плохие новости, но, надеюсь, кто-то может извлечь уроки из нашего опыта.
Не возможный, не выполняя итерации для создания нового списка. Можно перенести список в контейнер, который реализует IList.
можно использовать LINQ для получения ленивой оцененной версии IEnumerable<string>
из списка объектов как это:
var stringList = myList.OfType<string>();
Если Вы хотите больше управления тем, как преобразование происходит, можно использовать ConvertAll:
var stringList = myList.ConvertAll(obj => obj.SomeToStringMethod());
Вы имеете в виду что-то вроде этого?
List<object> objects = new List<object>();
var strings = (from o in objects
select o.ToString()).ToList();
Нет - если Вы хотите преобразовать ВЕСЬ элементы списка, необходимо будет затронуть ВЕСЬ элементы того списка так или иначе.
можно указать / пишут повторение по-разному (foreach ()......, или.ConvertAll () или безотносительно), но в конце, так или иначе, некоторый код собирается выполнить итерации по каждому элементу и преобразовать его.
Marc
Можно ли сделать преобразование строк, в то время как Список (объекта) создается? Это было бы единственным способом постараться не перечислять целый список после того, как Список (объекта) был создан.