我試圖將字符串切割成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
也許你應該考慮讓你的代碼更具可讀性。 –