方法DeleteTester應該從TestingCompany.txt中刪除選中的測試儀的行 如果測試儀已被分配到設備測試儀不應該被刪除。c#if else does not work
我的代碼無法正常工作。當測試人員被分配到設備時,它顯示錯誤消息「該測試公司被分配給設備」並刪除測試人員。測試人員不應該被刪除。
public void DeleteTester(string testerData)
{
string line_to_delete = testerData;
string[] line_to_Delete_Array= theEntity.setString(line_to_delete);
string testerToDelete = line_to_Delete_Array[0];
foreach (var line in File.ReadLines(@"C:\\Temp\\Equipment.txt"))
if (line.EndsWith(testerToDelete, StringComparison.CurrentCultureIgnoreCase))
{
MessageBox.Show("This testing company is assigned to Equipment", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
string strFilePath = @"C:\\Temp\\TestingCompany.txt";
string strSearchText = testerData;
string strOldText;
string n = "";
StreamReader sr = File.OpenText(strFilePath);
while ((strOldText = sr.ReadLine()) != null)
{
if (!strOldText.Contains(strSearchText))
{
n += strOldText + Environment.NewLine;
}
}
sr.Close();
File.WriteAllText(strFilePath, n);
}
}
方法了setString返回從線陣列的文件
public string[] setString(string newString)
{
sString = newString;
setStrings = sString.Split(',');
return setStrings;
}
設備文件與分離器信息 「」
1,voltmeter,25/07/2017,1
2,multimeter,31/08/2017,2
3,ampermeter,31/07/2016,3
4,voltmeter,29/08/2016,1
測試公司的文件數據
1,Testing Ltd,2 New North Rd,Auckland,2678
2,Q Testing Ltd, 4 Dominion Street,Auckland,5678
3,Metrology Limited,2 Dominos St,Christchurch,3456
德爾eteTester()
private void btnDeleteTester_Click(object sender, EventArgs e)
{
string deleteTester = lstTestingCompanies.GetItemText(lstTestingCompanies.SelectedItem);
theController.DeleteTester(deleteTester);
}
deleteTester具有數據1,Testing Ltd,2 New North Rd,Auckland,2678
固定碼它的工作原理,但它僅僅是一個模式,它不是設計好
public void DeleteTester(string testerData)
{
string line_to_delete = testerData;
string[] line_to_Delete_Array = theEntity.setString(line_to_delete);
string testerToDelete = line_to_Delete_Array[0];
string[] checkEquipment = File.ReadAllLines(@"C:\\Temp\\Equipment.txt");
foreach (string s in checkEquipment)
{
string[] TesterToDelete = theEntity.setString(s);
if (Convert.ToInt32(TesterToDelete[3]) == Convert.ToInt32(testerToDelete))
{
MessageBox.Show("This testing company is assigned to Equipment", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
flag = 1;
break;
}
}
if (flag != 1)
{
string strSearchText = testerData;
string strOldText;
string n = "";
StreamReader sr = File.OpenText(@"C:\\Temp\\TestingCompany.txt");
while ((strOldText = sr.ReadLine()) != null)
{
if (!strOldText.Contains(strSearchText))
{
n += strOldText + Environment.NewLine;
}
}
sr.Close();
File.WriteAllText(@"C:\\Temp\\TestingCompany.txt", n);
}
}
當你調試你的程序時,'line'的值是多少,'testerToDelete'的值是多少? – Jasen
發佈樣本數據條目 – iceDragon
是的,請發佈來自兩個文件的樣本數據以及您期望的最終結果。 – Sach