为什么我不能在c#中调用date.ToString()和str.Length一起工作?

本文关键字:str Length 一起 工作 ToString 不能 date 调用 为什么 | 更新日期: 2023-09-27 18:14:42

我意识到这可能是一个新问题,但无论我尝试或查找什么,我似乎都找不到任何答案,为什么我不能像我想要的json字符串那样修剪一些字符串。

这个页面是通过AJAX请求到达的,查询数据库,并尝试编译一个json字符串,最终将被解析成一个json对象,这是一个对象数组。听起来很简单…

我现在的情况:

foreach (var row in db.Query(selectQueryString))
{
    jsonString += "{";
    jsonString += "'"title'":'"" + Json.Encode(row.title) + "'",";
    jsonString += "'"dateNumber'":'"" + Json.Encode(row.eventDate.ToString().Substring(0, row.eventDate.ToString().IndexOf("/"))) + "'",";
    jsonString += "'"dateMonth'":'"" + Json.Encode(row.eventDate.ToString().Substring(row.eventDate.ToString().IndexOf("/"), row.eventDate.ToString().LastIndexOf("/"))) + "'",";
    jsonString += "'"dateYear'":'"" + Json.Encode(row.eventDate.ToString().Substring(row.eventDate.ToString().LastIndexOf("/"), row.eventDate.ToString().Length)) + "'",";
    jsonString += "'"summary'":'"" + Json.Encode(row.summary) + "'",";
    jsonString += "},";
}

Exception Details: System. s。Index和length必须指向字符串中的一个位置。包含'dateYear'的行错误

所有我想做的是结束与一个长json字符串在这结束,但我似乎不能停止得到错误。

为什么我不能在c#中调用date.ToString()和str.Length一起工作?

在子字符串中传递的第二个参数应该是您想要返回的字符数,但是您传递的是您想要作为子字符串的字符串的总长度。

编辑:如果是一年,那么我认为第二个参数应该是4:

Json.Encode(row.eventDate.ToString().Substring(row.eventDate.ToString().LastIndexOf("/"), 4))