我收到一个产品列表(listS)和一个数量列表(listI),我想要的是从我的数据库中删除一些项目,这取决于我在 listI 上收到的数量。它就像一种魅力,只要我没有在列表中收到重复的产品,这就是我要解决的问题。
public void remove(string[] listS, int[] listI)
{
int check = 0;
int quantidadeDB;
string ingredientDB;
string ingredient;
int quantity;
string newLine;
string[] linesSplit;
string[] lines = System.IO.File.ReadAllLines("c:\\z.txt");
System.IO.StreamWriter fileTemp = new System.IO.StreamWriter("c:\\z2.txt");
for(int i = 0; i < lines.Length;i++)
{
linesSplit = lines[i].Split(' ');
ingredientDB = linesSplit[0];
quantityeDB = int.Parse(linesSplit[1]);
check = 0;
for(int j=0;j<listS.Length;j++)
{
ingredient = listS[j];
quantity = listI[j];
if (ingredientDB.ToLower().Equals(ingredient.ToLower()))
{
newLine = ingredientDB + " " + (quantityDB - quantity);
fileTemp.WriteLine(newLine);
check++;
}
}
if(check.Equals(0))
fileB.WriteLine(ingredientDB + " " + quantityDB);
}
fileTemp.Close();
string text = System.IO.File.ReadAllText("c:\\z2.txt");
System.IO.StreamWriter fileL = new System.IO.StreamWriter("c:\\z.txt");
fileL.Write(text);
fileL.Close();
}
示例:如果我的数据库是这个:芬达 100 百事可乐 2 可口可乐 3 冰茶 23 番茄酱 23
收到此数组后:
listS= {"Pepsi", "Pepsi", "Ketchup", "Pepsi", "Ketchup"};
listI = {2, 3, 1, 3, 2};
这就是它应该如何输出:
Fanta 100
Pepsi -6
Coca-Cola 3
IcedTea
Ketchup 20
代替:
Fanta 100
Pepsi 0
Pepsi -1
Pepsi -1
Coca-Cola 3
IcedTea 23
Ketchup 22
Ketchup 21