Новый {объект} по сравнению с {объектом} = новый {объект}

list_with_items = ["item1", "item2", "item3", "item4"]

list_with_search_items = ["item2", "item3"]

for item in list_with_search_items:
    if item in list_with_items:
        print(item)

вывод:

item2
item3

Это простой список подходов. Если ваши list_with_items и list_with_search_items имеют одинаковую длину, вы можете использовать подход набора, как здесь: Как я могу сравнить два списка в Python и вернуть совпадения

6
задан Nathan W 16 November 2008 в 23:25
поделиться

3 ответа

В VB.NET они идентичны. As New вариант является каноническим.

В VB6 их семантика на самом деле отличалась (независимо формируют очевидное то, что VB6 не позволил присвоения в объявлениях): As New вариант создал бы объект, который никогда не мог быть Nothing. Скорее время выполнения гарантировало бы, что объект всегда правильно инициализировался перед каждым доступом к нему.

14
ответ дан 8 December 2019 в 13:50
поделиться

Эти операторы идентичны. Лично я предпочитаю "Тусклый x как Новый" синтаксис, потому что это более кратко. Нет никакой причины записи того же имени типа в том же операторе, когда это не имеет программного значения. Все, что это делает, заставляют Вас провести больше времени на клавиатуре :)

2
ответ дан 8 December 2019 в 13:50
поделиться

Я не парень VB, но насколько я могу сказать, что они эквивалентны. Согласно описанию MSDN оператора Dim:

Если Вы не указываете тип данных, переменная берет тип данных инициализатора. Если ни тип данных, ни инициализатор не присутствуют, по умолчанию, типом данных является Тип данных Object. При определении и типа данных и инициализатора тип данных инициализатора должен быть конвертируемым к типу данных.

Я не передам комментарий к предпочтению, поскольку я не использую VB (кроме тех случаев, когда ответ на операторы).

1
ответ дан 8 December 2019 в 13:50
поделиться
Другие вопросы по тегам:

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