1

好的,我已经为此工作了很多天,我知道我即将完成它,但我不断收到错误。我得到的第一个错误是ArgumentException was unhandled

else
{
    using (StreamWriter sw = File.AppendText(path))<--This is where is says 
    Argument exception was unhandled.              
    {    
        foreach (var item in employeeList.Items)
            sw.WriteLine(item.ToString());
    }

好的,所以我用这个修复了它:

try
{    
    StreamWriter sw = File.AppendText(path);
    foreach (var item in employeeList.Items)
        sw.WriteLine(item.ToString());
}
catch
{
    MessageBox.Show("Please enter something in");
}

好的,现在我收到了错误

无效转换异常无法将类型“WindowsFormsApplication2.Employee”的对象转换为类型“System.String”。

在这条线上:

string path = txtFilePath.Text;    

if (File.Exists(path))
{
    using (StreamWriter sw = File.CreateText(path))
    {   
        foreach (string line in employeeList.Items)<-- Right here at the string line
            sw.WriteLine(line);
    }
}

我已经完成了尝试和捕捉,但我不断收到错误。我想要对保存按钮做的就是将所选记录写入 txtFilePAth 中指定的文件,而不截断当前内部的值。但是,如果您按下按钮而没有在该框中弹出任何内容,我希望能够收到一条消息。是的,我知道没有特定路径是由于用户能够保存文件他们也想去哪里。有人可以帮我理解我做错了什么。

4

1 回答 1

4

employeeList.Items返回列表绑定到的数据项的列表。这不是字符串列表,而是Employee对象列表(这似乎是您在应用程序中某处定义的类)。所以可行的语法是:

foreach (Employee employee in employeeList.Items)
{
    // do something with the employee object
}
于 2012-04-26T14:40:09.923 回答