在下面的代码中,我很好奇为什么最终的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);
}
}
}
我将其他书写在那里,看看它会打印多少次。
答案 0 :(得分:2)
你的i在foreach中被宣告。它不会增加,因为你每次都将它重新设置为0。把它放在foreach之前。