4
protected Dictionary<string , string> xmlList = new Dictionary<string , string>();
protected System.Collections.ArrayList list = new System.Collections.ArrayList();

このような配列リストに辞書を保存しました..

    xmlList.Add( "image" , "images/piece1.png" );
    xmlList.Add( "description" , " Experience why entertainment is more amazing with Xbox."            );
    xmlList.Add( "title" , "Downloads" );
    list.Add( xmlList );
    xmlList.Clear();
    xmlList.Add( "image" , "images/piece2.png" );
    xmlList.Add( "description" , "Limited-time offer: Buy Office now, get the next version free.*" );
    xmlList.Add( "title" , "Security & Updates" );
    list.Add( xmlList );

配列リストから辞書の各要素にアクセスするにはどうすればよいですか?

<% for (int i = 0; i < list.Count; i++)
    {
    foreach(Dictionary<string , string> itemList in list)
        {
        Response.Write( itemList["image"] );
        }
   } 
%>

そして、それは私に同じ結果「images/piece2.png」を2回与えます..

できなかった

foreach(Dictionary<string , string> itemList in list[i])
    {
    Response.Write( itemList["image"] );
    }
4

4 に答える 4

2
 protected Dictionary<string, string> xmlList;
    protected System.Collections.ArrayList list = new System.Collections.ArrayList();

 xmlList = new Dictionary<string, string>();
        xmlList.Add("image", "images/piece1.png");
        xmlList.Add("description", " Experience why entertainment is more amazing with Xbox.");
        xmlList.Add("title", "Downloads");
        list.Add(xmlList);
        xmlList = new Dictionary<string, string>();
        xmlList.Add("image", "images/piece2.png");
        xmlList.Add("description", "Limited-time offer: Buy Office now, get the next version free.*");
        xmlList.Add("title", "Security & Updates");
        list.Add(xmlList);

        foreach (Dictionary<string, string> itemList in list)
        {
            Response.Write(itemList["image"]);
            Response.Write("<br>");
        }
于 2012-12-07T05:28:34.970 に答える
0

同じオブジェクトxmllistを2回使用しているように感じます。これが、画像を2回取得する理由です。xmllist1とxmllist2を試してください。辞書と配列リストを反復処理するための他のすべての答えは、私には正しいように見えます。これが可能性のある理由です。ぜひお試しください。

 xmlList1.Add( "image" , "images/piece1.png" );
    xmlList1.Add( "description" , " Experience why entertainment is more amazing with Xbox."            );
    xmlList1.Add( "title" , "Downloads" );
    list.Add( xmlList1 );

    xmlList2.Add( "image" , "images/piece2.png" );
    xmlList2.Add( "description" , "Limited-time offer: Buy Office now, get the next version free.*" );
    xmlList2.Add( "title" , "Security & Updates" );
    list.Add( xmlList2 );

そして、CodeIgnotoのアプローチを使用します。

于 2012-12-07T06:29:25.773 に答える
0

このスニペットを使用して、リストの各ディクショナリを反復処理し、ディクショナリの各要素を取得できます。

foreach(Dictionary<string,string> xdict in list)
{
    foreach(var xkey in xdict.Keys)
    {
       Response.Write(xdict[xkey]);
    }
}
于 2012-12-07T05:28:43.263 に答える