如何替换列表索引C#中的值?

如何替换列表索引C#中的值?,c#,datagridview,C#,Datagridview,作为土木工程师,我在C#中使用了DataGridView。 我需要特定行中的值。如果行中出现相同的值,我想显示一条消息。例如,如果1在一行中多次出现,我希望每1显示一条消息 我是这样做的: private void button4_Click(object sender, EventArgs e) { for (int i = 0; i < dataGridView2.ColumnCount - 1; i++) { if (CategoryCLO[i] ==

作为土木工程师,我在C#中使用了
DataGridView
。 我需要特定行中的值。如果行中出现相同的值,我想显示一条消息。例如,如果1在一行中多次出现,我希望每1显示一条消息

我是这样做的:

private void button4_Click(object sender, EventArgs e)
{
    for (int i = 0; i < dataGridView2.ColumnCount - 1; i++)
    {
        if (CategoryCLO[i] == 1)
        {
            MessageBox.Show("Here i am");
        }
        else
        {
            MessageBox.Show("I am not");
        }
    }
}

private void dataGridView2_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
    if (e.RowIndex == 1)
    {
        CategoryCLO.Add(int.Parse(
            dataGridView2.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString()));
    }
}
private void按钮4\u单击(对象发送者,事件参数e)
{
对于(int i=0;i
问题: 它只有一次是正确的。如果用户替换了
DataGridView
中某个单元格中的一个值,则会将另一个值与新添加的列表索引相对应

说明: 问题是,当用户在
DataGridView
中更改值时,它在列表中得到了累加,从而增加了列表的索引,我希望列表的索引应该固定到列索引。特定单元格中的任何变化,都应该在特定索引中发生变化,而不是累加

问题: 我希望该值应该放在以前的索引中,而不是创建新的索引。简而言之,我希望列表的索引应该固定为列号。我怎么做?有什么方向吗


注意:根据用户的不同,列号是可变的

很抱歉,我真的不明白这里要做什么。什么代表CategoryCLO(我想是一个Int列表)?在第一个事件中,DataGridView上的循环是无用的。仅使用Contains(1)搜索返回true。仅当编辑在第一行时,第二个块才起作用?需要更多的解释here@Steve是的,这是一个int列表。我希望当相同的数字出现在一行中时,我希望显示一条消息。例如,如果2出现在一行的三个单元格中,我希望使用if显示相同的消息。问题是,当用户更改datagridview中的值时,它会在列表中相加,从而增加列表的索引,我希望列表的索引应该固定到列中。只需保存用户更改的以前的值,并在列表中找到此值,然后替换为新值