1

テーブルからすべての文字列値を読み取り、次のように配列に追加しています。

da2.Fill(ds, "DNAiusTwitter_Table");
int counts = ds.Tables[0].Rows.Count;
for (int i = 0; i < counts; i++)
{
    names[i, 0] = ds.Tables[0].Rows[i][3].ToString();
}

文字列を取得するにはどうすればよいですappend = 'name1','name2','name3','name4';か?これらの値を以下のコードに渡すにはどうすればよいですか:

for (int i = 0; i < 1; i++)
{
    HtmlGenericControl scriptTagLinks = new HtmlGenericControl("script");
    scriptTagLinks.Attributes["type"] = "text/javascript";
    string scrip1 = "$(function () {$(\"[src='" + names[i, 0] + "']\"" + ").pinit();});";
    var scrip = "var tweetUsers=['" +append  + "'," + "'" + splitted[3]+"']";
    scriptTagLinks.InnerHtml = scrip;

    this.Controls.Add(scriptTagLinks);
}
4

2 に答える 2

1

後でコードで配列が必要ない場合は、StringBuilder (System.Text 名前空間) を使用します。テーブルのサイズが変更された場合、メモリ割り当てが向上します。

da2.Fill(ds, "DNAiusTwitter_Table");
int counts = ds.Tables[0].Rows.Count;
StringBuilder appendString = new StringBuilder();
for (int i = 0; i < counts; i++)
{
    appendString.AppendFormat("{0},", ds.Tables[0].Rows[i][3].ToString());
}

これにより、すべてのデータがビルダーに追加されます。次に、2 番目のコード スニペットで、次の手順を実行してビルダーを文字列に変換し、最後に追加のカンマを取り除きます。また、2 番目のスニペットに for ループ (1 をループ) は必要ないと思いますか、それとも for ループの 1 はタイプミスですか?

var scrip = "var tweetUsers=['" + appendString.ToString().TrimEnd(new char[] { ',' }) + "'," + "'" + splitted[3]+"']";
于 2012-08-29T08:16:34.257 に答える
0

string.join() メソッドを使用する

string.Join(your_array, ",")
于 2012-08-29T07:09:39.173 に答える