2016-05-25 2 views
-6

Я понимаю, что теперь есть новый способ писать петли for с использованием foreach? Я использую C# и Visual Studio 2015.Новая версия цикла for?

Вот текущий цикл:

for(int iCodeLength = 4; iCodeLength >= 1; iCodeLength--) 
{ 
    if(xmlGenioCodes.SelectSingleNode(String.Format("GenioCodes[Code =\"{0}\"]", strCodeMX.Substring(0, iCodeLength))) != null) 
    { 
     strCodeMXLayer = strCodeMX.Substring(0, iCodeLength); 
     break; 
    } 
} 

Что такое новый способ, которым я могу написать такое же определение for цикла с использованием foreach? И вы могли бы направить меня на хорошую веб-страницу, которая объясняет это, поскольку я не знаю, что искать.

Спасибо!

+1

Возможно, вы хотите использовать 'foreach'? – Philippe

+2

Я поместил ваш вопрос как крайне некачественный. Вы должны быть более конкретными в отношении того, какой тип цикла вы ищете. Вы надеетесь использовать возможности языка C# на языке C#? Вы хотите использовать цикл foreach? На данный момент ваш вопрос слишком непонятен. –

+0

@DanForbes Мне жаль, что было непонятно. Я верю, что я прошу, это предвестник. –

ответ

3

Я не думаю, что этот цикл является хорошим кандидатом на цикл foreach. Если вы должны были сделать так, что это будет выглядеть примерно так:

var codeLengths = new[] { 4, 3, 2, 1 }; 
foreach (length in codeLengths) 
{ 
    if(xmlGenioCodes.SelectSingleNode(String.Format("GenioCodes[Code =\"{0}\"]", strCodeMX.Substring(0, length))) != null) 
    { 
     strCodeMXLayer = strCodeMX.Substring(0, length); 
     break; 
    } 
} 

EDIT

Per запроса в вашем вопросе, here is a link where you can find more information about C#'s foreach language feature.

+1

Благодарим вас за это. Я вижу, что это не будет хорошим кандидатом, но вы научили быть концепцией сейчас и где найти больше информации. Спасибо. –

+2

Вы также должны заглянуть в LINQ ... это, одним словом, потрясающе. Если у вас есть дополнительные деньги, вам следует инвестировать в [ReSharper] (https://www.jetbrains.com/resharper/) ... это замечательный инструмент. Хотя некоторые могут критиковать его как ленивый выбор (поскольку он «автоматически» исправляет ваш код для вас), это был довольно ценный инструмент обучения для меня. Я включил большинство предложений ReSharper в свой естественный стиль кодирования и научился использовать многие расширенные функции языка C# посредством использования инструмента ReSharper. –

+0

Я никогда не слышал о LINQ. –

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