我是C#的新手。 我正在尝试编写一个代码,用于搜索特定单元格区域中的特定值。
例如:
我有一个包含9个单元格的数组,我想从单元格0到3搜索特定值,从4-6搜索另一个值,依此类推。
我该怎么做? 我正在尝试循环,但它运行整个阵列,我想要特定的单元格。
希望你明白了。
谢谢!
答案 0 :(得分:2)
这样的事情:
for (int i = 0; i < 3; i++)
if (array[i] == something) {}
for (int i = 4; i < 6; i++)
if (array[i] == something) {}
答案 1 :(得分:0)
string[] array = new string[] { "1", "2", "3", "4", "5", "6", "7", "8", "9" };
var first = array.Skip(0).Take(3).Where(x => x.Equals("2")).ToArray();
var second = array.Skip(3).Take(3).Where(x => x.Equals("4")).ToArray();
答案 2 :(得分:0)
您可以使用Linq进行子数组和查询:
function! GetMatch(pattern)
let start = searchpos(a:pattern, 'bcnW')[1]
if start == 0
return ''
endif
let end = searchpos(a:pattern, 'cenW')[1]
if end == 0
return ''
endif
return strpart(getline('.'), start - 1, end - start + 1)
endfunction
问候
修改强> 对于随机或不同的索引序列,您可以使用Contains方法:
int[] yourArray = new int[] { 1, 7, 5, 3, 2, 6, 9, ...};
// First three elements.
// >= 4 && <= 6
var elements = yourArray.Take(3).Where(m => m >= 4 && m <= 6).ToArray();
// From 4 to 6: skip first three, then take 2.
// >= 1
var elements2 = yourArray.Skip(3).Take(2).Where(m => m >= 1).ToArray();
答案 3 :(得分:0)
for (int a = 0; a <= 3; a++)
if (array[a] == search element)
for (int a = 4; a <= 6; a++)
if (array[a] == search element)
for (int a = 4; a <= 6; a++)
if (array[a] == search element)
答案 4 :(得分:0)
for (int i = 0; i < 9; i++)
{
if(i<3)
{
//For first 3 elements
if (array[i] == something) {}
}
else if(i<6)
{
//For middle 3 elements
if (array[i] == something) {}
}
else
{
//For last 3 elements
if (array[i] == something) {}
}
}