я не могу определить список в vb 2017? - PullRequest
0 голосов
/ 06 мая 2020

Я написал эту строку в Visual Studio 2019 на моем персональном компьютере, и она хорошо работает:

Dim coords = New List(Of (T1 As String, T2 As String, T3 As String, T4 As String, T5 As String))

Это не работает на моем корпоративном компьютере, на котором установлена ​​Visual Studio 2017.

Почему это работает в Visual Studio 2019, но не в Visual Studio 2017?

Ответы [ 2 ]

1 голос
/ 06 мая 2020

Это работает в VS 2019, потому что у вас есть список кортежей . VS 2017 еще не поддерживает кортежи без небольшой дополнительной работы .

Для поддержки кортежей требуется тип ValueTuple . Если. NET Framework 4.7 не установлен, необходимо добавить пакет NuGet System.ValueTuple, который доступен в галерее NuGet. Без этого пакета вы можете получить ошибку компиляции, похожую на «Предопределенный тип ValueTuple (Of ,,,)» не определен или не импортирован ».

0 голосов
/ 06 мая 2020

Я бы добавил это в качестве комментария к ответу выше, но у меня явно недостаточно очков (странная система).

Хотя предполагаемых кортежей, подобных этому, может не быть в VS 2017, вы можете создать вручную такой кортеж:

    Dim Coords As List(Of Tuple(Of String, String, String))
    '...
    Coords.Add(New Tuple(Of String, String, String)("Item 1", "Item 2", "Item 3"))

Это работает даже в VS 2010.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...