C# 将DataGridView中的单个单元格作为字符串读取

C# 将DataGridView中的单个单元格作为字符串读取,c#,datagridview,datagridviewtextboxcell,C#,Datagridview,Datagridviewtextboxcell,我正在读取DataGridView中的所有单元格,但在每个单元格上,我希望将单元格的前3个元素作为字符串进行比较,如果匹配,则将其转换为空白单元格 到目前为止我已经试过了 for (int z = 0; z < dataGridView7.Rows.Count; z++) { for (int i = 0; i < dataGridView7.Columns.Count; i++) { string caixa = dataGridView

我正在读取DataGridView中的所有单元格,但在每个单元格上,我希望将单元格的前3个元素作为字符串进行比较,如果匹配,则将其转换为空白单元格

到目前为止我已经试过了

 for (int z = 0; z < dataGridView7.Rows.Count; z++)
 {
     for (int i = 0; i < dataGridView7.Columns.Count; i++)
     {
          string caixa = dataGridView7[z, i].Value.ToString(); //problem right here
          string caixaselecta = caixa.Substring(0, 3);

          if (caixaselecta == "0 *")
          {
              dataGridView7[z, i].Value = "";
          }
    }
}
for循环正确完成,匹配也正确完成。我认为问题在于识别当前正在分析的单元格,并将其转换为字符串

我尝试了类似的方法来访问当前单元格,但要么我得到了一个错误,要么字符串caixa没有正确定义


有什么提示吗?

您按错误的顺序指定了索引。DataGridView索引器定义为

public DataGridViewCell this[
    int columnIndex,
    int rowIndex
] { get; set; }
-引用自

所以你需要交换索引器中的z和i

for (int z = 0; z < dataGridView7.Rows.Count; z++)
{
    for (int i = 0; i < dataGridView7.Columns.Count; i++)
    {
        string caixa = dataGridView7[i, z].Value.ToString();
        ....
        ....
        ....
    }
}