Объекты набора копии к другому набору в.NET

Это потому, что ваш id+ является прокси-ресурсом , на что указывает знак +.

Из документа:

Шлюз API определяет прокси-ресурс в качестве заполнителя для ресурса, который должен быть указан при отправке запроса. Ресурс прокси выражается специальным параметром пути {proxy +}, часто называемым параметром жадного пути. Знак + указывает, какие дочерние ресурсы добавляются к нему. Заполнитель / parent / {proxy +} обозначает любой ресурс, соответствующий шаблону пути / parent / *. Жадное имя параметра пути, proxy, можно заменить другой строкой так же, как вы обрабатываете имя обычного параметра пути.

blockquote>

Удалите знак + из имени вашего параметра, и вам будет разрешено создавать подресурсы.

15
задан Matt Hanson 29 September 2008 в 03:45
поделиться

9 ответов

Можно использовать AddRange: hostCollection2.AddRange(hostCollection1).

36
ответ дан 1 December 2019 в 00:27
поделиться

Я знаю, что Вы просите VB, но в C# можно просто использовать конструктора набора для инициализации его с любым IEnumerable. Например:

List<string> list1 = new List<string>();
list1.Add("Hello");
List<string> list2 = new List<string>(list1);

, Возможно, тот же вид вещи существует в VB.

4
ответ дан 1 December 2019 в 00:27
поделиться

Не забывайте, что Вы будете получать ссылку и не копию при инициализации List2 к List1. У Вас все еще будет один набор строк, если Вы не сделаете глубокий клон.

2
ответ дан 1 December 2019 в 00:27
поделиться

Решение Ben действительно существует для VB.Net:

Dim collection As IEnumerable(Of T)    
Dim instance As New List(collection)

Вот связанный документация .

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

1
ответ дан 1 December 2019 в 00:27
поделиться

Список. CopyTo (T []); возможно?

http://msdn.microsoft.com/en-us/library/t69dktcd.aspx

0
ответ дан 1 December 2019 в 00:27
поделиться

Я всегда использую эти List<T>.AddRange(otherList<T>) функция. Снова, если это будет списком объектов, то они будут ссылками то же самое.

Вы не указали, какой набор, хотя, AddRange не существует в CollectionBase, наследовал объекты

2
ответ дан 1 December 2019 в 00:27
поделиться

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

1
ответ дан 1 December 2019 в 00:27
поделиться

Array.Copy может решить Вашу проблему.

0
ответ дан 1 December 2019 в 00:27
поделиться

Это доступно при использовании IList . Но метод AddRange недоступен в Collection . Я подумал о преобразовании коллекции в List , но это невозможно.

2
ответ дан 1 December 2019 в 00:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: