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

时间:2015-05-23 15:52:18

标签: c# alert

我试图创建一个警报系统并且我得到这个错误:无法隐式转换类型'system.datetime'顶部字符串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";
    }
    }

请帮助。 谢谢。

1 个答案:

答案 0 :(得分:0)

问题出在以下几行:

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);