不能隐式转换类型'system.datetime'顶级字符串c#

本文关键字:字符串 datetime system 类型 不能 转换 | 更新日期: 2023-09-27 17:50:40

我试图创建一个警报系统,我得到这个错误:不能隐式转换类型'system。Datetime ' top string c#

我代码:

private void button1_Click(object sender, DataGridViewCellFormattingEventArgs e)
    {
        foreach (DataGridViewRow row in dataGridView1.Rows)
        {
            string dateInString = DateTime.Parse(dataGridView1.Rows[e.RowIndex].Cells[3].Value.ToString()); //error
        }
     DateTime startDate = DateTime.Parse(dateInString);
     DateTime expiryDate = startDate.AddDays(30);
     if (DateTime.Now > expiryDate)
      {
         textBox3.Text = "O pagamento X expirou, faça o favor de pagar, caloteiro";
    }
    }

请帮助。谢谢你。

不能隐式转换类型'system.datetime'顶级字符串c#

问题出在下面一行:

string dateInString = DateTime.Parse(dataGridView1.Rows[e.RowIndex].Cells[3].Value.ToString());

您正在尝试将DateTime值分配给string变量。

相反,只需在对象上使用一个小的.ToString()调用来获取该值:

string dateInString = dataGridView1.Rows[e.RowIndex].Cells[3].Value.ToString();

除此之外,你有一些范围问题,你实际上指的是最后分配的DateTime值:

foreach (DataGridViewRow row in dataGridView1.Rows)
{
    string dateInString = DateTime.Parse(dataGridView1.Rows[e.RowIndex].Cells[3].Value.ToString()); //error
}
DateTime startDate = DateTime.Parse(dateInString);