2011-08-17 22 views
-2

関数の戻り値としてHTML文字列を返しています。戻り文字列はいくぶん長いですが(文字列データ型の制限と比較して何もありません)。しかし、返された文字列は切り捨てられています。.netが文字列を切り捨てて返しました

私はそれを利益のないStringBuilderに変換しようとしました。

P.S.私のクラスは.dllの中にあり、外部からアクセスしようとしています。

何が問題なのですか?

私はここにかかりています:

 string st = asso.getHtmlReport(); 

     FileStream fs = File.OpenWrite("file.html"); 

     StreamWriter sw = new StreamWriter(fs); 

     sw.Write(st); 

をこれは、あなたがそれを書くした後、あなたのストリームをフラッシュする必要がある文字列

 public string getHtmlReport() 
    { 
     string html = "<html><head><title>Association</title></head><body>" + 
    "<table >" + 
     "<tr align=\"left\">" + 
     "<th>t</th>" + 
     "<th>" + name1 + "</th>" + 
     "<th>Avg rise</th>" + 
     "<th>" + name2 + "</th>" + 
     "<th>Avg rise</th>" + 
     "<th>Difference</th>" + 
     "<th>Direction</th>" + 
     "</tr>" + 
     "<tr>"+ 
     "<td style=\"padding-left:10px;padding-right:20px;\" valign=\"top\">" + 
      seriesPrint(t) + 
     "</td>" + 
     "<td style=\"padding-left:10px;padding-right:20px;\" valign=\"top\">" + 
      seriesPrint(series1) + 
     "</td>" + 
     "<td style=\"padding-left:10px;padding-right:20px;\" valign=\"top\">" + 
      seriesPrint(avg1) + 
     "</td>" + 
     "<td style=\"padding-left:10px;padding-right:20px;\" valign=\"top>" + 
      seriesPrint(series2) + 
     "</td>" + 
     "<td style=\"padding-left:10px;padding-right:20px;\" valign=\"top\">" + 
      seriesPrint(avg2) + 
     "</td>" + 
     "<td style=\"padding-left:10px;padding-right:20px;\" valign=\"top\">" + 
      seriesPrint(diff) + 
     "</td>" + 
     "<td style=\"padding-left:10px;padding-right:20px;\" valign=\"top\">" + 
      seriesPrint(dir) + 
     "</td>" + 
     "</tr>"+ "</table>" + 
    "<div style=\"padding:10px; position:absolute; right:0px; top:0px; width:300px; border:this solid black; background-color:Black; color:White;\">" + 
     "<span style=\" font-weight:bolder; font-size: 2em; color: White;\">Results</span><br />" + 
     "<span style=\" font-weight:bolder; font-size: 1em; color: White;\">Total records : " + series1.Length + "</span><br />" + 
     "<span style=\" font-weight:bolder; font-size: 1em; color: White;\">Average error : " + avgError() + "</span><br />" + 
     "<span style=\" font-weight:bolder; font-size: 1em; color: White;\">Together : " + support() + "</span><br />" + 
     "<span style=\" font-weight:bolder; font-size: 1em; color: White;\">Opposite : " + (series1.Length - support()) + "</span><br />" + 
    "</div>" + 
"</body></html>"; 
     return html; 

    } 
+2

コードサンプルを投稿してください。 – Jason

+2

文字列を切り捨てて表示していますか?デバッガは実際に長い文字列が表示されたときに切り詰めることがありますが、メモリ値が正確ではありません。 –

+0

何時?うーん..どれくらい? .Netは文字列の最大サイズを提案しません。 – Zenwalker

答えて

2

です。

sw.Flush(); 
関連する問題