2015-08-07 3 views
1

я могу создать новый проект VS2013 vb.net со следующим кодом, который компилируется и работает нормально:Как активировать расширения массива?

Dim ii(12) As Integer 
If ii.Contains(5) Then 
... 
End If 

я только переделал проект VS2008 vb.net в VS2013. Когда я добавляю код с расширениями массива .Contains и .ToList, он вызывает ошибку компиляции. «Содержит» [или «ToList»] не является членом «System.Array».

«Импорт» и «Ссылки» идентичны между проектами, и я не вижу никакой существенной разницы в свойствах проекта. Есть ли способ включить эти расширения массива?

+4

Убедитесь, что целевая структура в свойствах проекта - .NET 3.5 или выше. – MarcinJuraszek

+0

Целевая структура в обоих проектах - 4.5.2. – xpda

ответ

1

Вам нужен .NET 3.5+ и ссылка на System.Linq, чтобы получить метод расширения. (Imports не требуется.)

Вы говорите, что когда вы сравниваете оба проекта, вы не видите различий в «Импорт» и «Ссылки».

Возможно, разница в том, что ваш рабочий проект неявно импортирует System.Linq, и именно поэтому вы не заметили разницы.

Перейдите к своему рабочему проекту и перейдите к My Project. Перейдите к разделу References и посмотрите ниже Imported namespaces. Вероятно, вы обнаружите, что System.Linq проверен в вашем рабочем проекте, но не так в проекте, который не работает.

+0

Вы правы. Даже в новом, пустом проекте vb.net desktop в VS2013, System.Linq импортируется неявно. Благодаря! – xpda

Смежные вопросы