在 foreach 循环中跳过多个值
skip multiple values in foreach loop
我有以下字符串数组,我在 foreach
循环
中将其作为字符串获取
string[] words = ...
foreach (String W in words.Skip(1))
{
...
}
我可以跳过第一个值,但我怎样才能同时跳过第一个值和最后一个值?
使用这个
words.Skip(1).Take(words.Length-2)
是-2 所以你不计算你跳过的那个,加上你想跳过的那个从最后开始
试试这个
foreach (string w in words.Skip(1).Take(words.length-2))
{
...
}
可能最好在此之前进行一些测试,以确保有足够的字数!
int count = 0;
string[] words = { };
foreach (string w in words)
{
if(count == 0 || count == (words.Length - 1)){
continue;
}
//Your code goes here
count++;
}
如果您必须使用 foreach 循环,这应该适合您。
这是一个数组吧...
for (int i = 1; i < words.Length - 1; i++)
{
string W = words[i];
//...
}
您可以使用ArraySegment
var clipped = new ArraySegment<String>(words, 1, words.Length-2);
foreach (String W in clipped)
{
...
}
我有以下字符串数组,我在 foreach
循环
string[] words = ...
foreach (String W in words.Skip(1))
{
...
}
我可以跳过第一个值,但我怎样才能同时跳过第一个值和最后一个值?
使用这个
words.Skip(1).Take(words.Length-2)
是-2 所以你不计算你跳过的那个,加上你想跳过的那个从最后开始
试试这个
foreach (string w in words.Skip(1).Take(words.length-2))
{
...
}
可能最好在此之前进行一些测试,以确保有足够的字数!
int count = 0;
string[] words = { };
foreach (string w in words)
{
if(count == 0 || count == (words.Length - 1)){
continue;
}
//Your code goes here
count++;
}
如果您必须使用 foreach 循环,这应该适合您。
这是一个数组吧...
for (int i = 1; i < words.Length - 1; i++)
{
string W = words[i];
//...
}
您可以使用ArraySegment
var clipped = new ArraySegment<String>(words, 1, words.Length-2);
foreach (String W in clipped)
{
...
}