我正在尝试将字符串格式化为时间字符串格式。 PadLeft方法有效,但是在该方法之后,我使用Insert方法,由于某种原因,它删除了PadLeft添加的零:
var formatString = data.Rows[i][j].ToString().PadLeft(6, '0');
formatString = data.Rows[i][j].ToString().Insert(1, ":").Insert(4, ":");
data.Rows[i][n] = formatString;
在第二行代码之后,执行Insert方法时,将删除零并添加冒号。
希望我已经彻底解释了
答案 0 :(得分:4)
String
是不可变的。您的第一行将返回一个新字符串,并且不会修改表中的值。因此,您需要继续使用该字符串而不是表中的值。
var formatString = data.Rows[i][j].ToString().PadLeft(6, '0');
formatString = formatString.Insert(1, ":").Insert(4, ":");
data.Rows[i][n] = formatString;
答案 1 :(得分:1)
您在formatString变量中有零,然后在第二行中为该变量分配一个新值,我想您想做些类似的事情:
var formatString = data.Rows[i][j].ToString().PadLeft(6, '0');
formatString = formatString.Insert(1, ":").Insert(4, ":");
data.Rows[i][n] = formatString;