2013-03-30 5 views
0

в VB.NET, я могу написать:Как преобразовать это выражение массив VB.NET на C#

If {"red", "blue"}.Contains("blue") Then Return True 

и Contains, кажется, от Linq.Enumerable (Of T).

У меня возникли проблемы, преобразовав его в C# - при использовании онлайн-инструмент преобразования, как один из Developer Fusion, это дает мне:

if ({"red", "blue"}.Contains("blue")) return true; 

но он не компилируется, сказав, что это не в состоянии решить символ Contains, который не очень помогает. Я уверен, что это простая проблема синтаксиса, но я не уверен, что вы называете подобным примером.

Мне не нужно создавать экземпляр массива, так как я просто использую его для вычисления выражения inline. Это похоже на VB.NET. Как вы это называете - статический массив? постоянный массив? анонимный массив? какая-то комбинация из перечисленных?

Я хотел бы знать, как написать это на C#, а также то, что это называется (я обновляю заголовок вопроса и теги, чтобы лучше отражать то, что я прошу, когда кто-то может ответить на это). Благодаря!

ответ

3

Это будет ваш прямое преобразование

if (new []{"red", "blue"}.Contains("blue")) return true; 

О, это называется array initializer

+0

Итак, в C#, вы _должны_ экземпляр массива? – Jeff

+0

[Боится так.] (Http://msdn.microsoft.com/en-us/library/aa288453 (v = vs.71) .aspx) –

+0

@Lumirris - да! инициализация явно! –

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

  • Нет связанных вопросов^_^