我有这段代码:
string[,] drinks = {
{"Coke ","0"},
{" Diet-Cola ", "0 "},
{" Fanta ", "0 "},
{" Dr Pepper ", "0 "},
{" Orange Juice ", "0 "},
{" Apple juice ", "0 "},
{" Grapefruit Juice ", "0 "},
{" Prune juice ", "0 "}};
string message = "The Drinks you have chosen are: ";
List<TextBox> textBoxes = new List<TextBox>() {
txt1, txt2, txt3, txt4, txt5, txt6, txt7, txt8 };
for (int i = 0; i < textBoxes.Count; i++)
{
drinks[i, 1] = textBoxes[i].Text;
}
for (int i = 0; i < 8; i++)
{
if (drinks[i,0][1] > 0)
message = message + drinks[i,0] + drinks[i,1];
}
Data.message = message;
有效。我唯一的问题是它显示的饮料价值为0而不是仅显示价值高于0的饮料。
例如: 简确实想要订购3个可乐,2个芬达和一个西梅汁。并且仅显示这些,而不显示其余值,其值为0
有任何帮助实现这一目标吗?
感谢
P.S。我的大学正在使用visual studio 2010 express for windows phone
答案 0 :(得分:0)
第if (drinks[i,0][1] > 0)
行应为if (drinks[i,1] > 0)
。
此外,您的数组中包含String
值,并且您尝试将其与Integer
值进行比较。所以,你应该进行类型转换:
for (int i = 0; i < 8; i++)
{
if ((int)drinks[i,1] > 0)
message = message + drinks[i,0] + drinks[i,1];
}