我试图将字符串切割成6个字段,每个字段的最大长度为30。字符串的总长度是173.我创建了如下的代码;索引和长度必须指向字符串内的位置
(
(("" + dr["MESSAGE"]).ToString().Trim().Length<30 &&
("" + dr["MESSAGE"]) != "")?(("" + dr["MESSAGE"]) + "|||||") :
(("" + dr["MESSAGE"]).ToString().Trim().Length>150 &&
("" + dr["MESSAGE"]).ToString().Trim().Length<181)?
(("" + dr["MESSAGE"]).Trim().PadRight(180,' ').Substring(0,30).Trim() + "|" +
("" + dr["MESSAGE"]).Trim().PadRight(180,' ').Substring(31,60).Trim() + "|" +
("" + dr["MESSAGE"]).Trim().PadRight(180,' ').Substring(61,90).Trim() + "|" +
("" + dr["MESSAGE"]).Trim().PadRight(180,' ').Substring(91,120).Trim() + "|" +
("" + dr["MESSAGE"]).Trim().PadRight(180,' ').Substring(121,150).Trim() + "|" +
("" + dr["MESSAGE"]).Trim().PadRight(180,' ').Substring(151,180).Trim()) : "" + "|||||")
该代码本身生成一个输出文件,但没有数据。我所得到的是标题和页脚,错误“索引和长度必须指向输出文件底部指示的字符串内的位置”。
希望你能帮助我解决我的问题。
某处沿着你以前做的方式超越了字符串的边界。但是,“编写”代码的方式让您(和我们)很少有线索知道代码出错的地方。将你的代码分成几行和几个阶段。你将能够看到错误的确切位置。 – Adrian
也许你应该考虑让你的代码更具可读性。 –