如何在c#中的数组的特定单元格中搜索特定值

时间:2015-05-06 10:25:43

标签: c# arrays

我是C#的新手。 我正在尝试编写一个代码,用于搜索特定单元格区域中的特定值。

例如:

我有一个包含9个单元格的数组,我想从单元格0到3搜索特定值,从4-6搜索另一个值,依此类推。

我该怎么做? 我正在尝试循环,但它运行整个阵列,我想要特定的单元格。

希望你明白了。

谢谢!

5 个答案:

答案 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) {}
    }
}