FOREACH LOOPS呼叫和打印问题

时间:2014-06-30 17:52:37

标签: c# foreach

在下面的代码中,我很好奇为什么最终的foreach循环打印出" Alert"写三次。例如itll print 消息1 消息2 消息3 消息1 消息2 消息3 此外,它只调用最后一个Pop ..Pop是一个弹出通知,显示来自javascript端的消息类型。正好发送了3条消息,但通知只显示最后的消息文本。

哦,"我"总是打印0,它永远不会增加。

     NameValueCollection NV = new NameValueCollection();
        NV.Add("TOKEN", EncodeTo64(EncodeTo64(uid)));
        string[] values = null;
        string post = HttpPost("https:somewebsite.com", NV);
        foreach (string k in NV.Keys)
        {
            Console.WriteLine("ONE");
            values = NV.GetValues(k);
            foreach (string value in values)
            {
                Console.WriteLine("TWO");
                var mm = JsonConvert.DeserializeObject<List<Messages>>(DecodeFrom64(post));
                foreach (Messages m1 in mm)
                {
                    Console.WriteLine("THREE\n");

                    Console.WriteLine("Alert->"+i+": "+m1.alert_message + " " +"Message: "+ m1.notif_message);
                    string alert = m1.alert_message;
                    string type = m1.notif_message;
                    Pop(type, alert);

                }



            }

        }

我将其他书写在那里,看看它会打印多少次。

1 个答案:

答案 0 :(得分:2)

你的i在foreach中被宣告。它不会增加,因为你每次都将它重新设置为0。把它放在foreach之前。