如何创建包含字符串名称和字典错误的字典

时间:2015-06-26 19:41:58

标签: c# list dictionary

我需要一些帮助。我想在C#中创建一个列表(或字典),它保存从每个Access数据库读取的每行数据的错误。我希望错误列表能够保存这样的东西(如在json中):

{
   filename: {
         name: 'test1.mdb',
         errors: {
             'row': 1, 
             'id': 23423, 
             'error': 'something went wrong',
         }
   }
}

现在,我想在每次读取的行都有问题时创建一个新的错误字典。这就是我做的。

Dictionary<string, string> errors = new Dictionary<string, string>();
errors.Add('row', '1');
errors.Add('error', 'something went wrong');
errors.Add('id', '23423');

现在,如何使用生成错误的文件名添加上述错误。这就是我所做的:

Dictionary<string, Dictionary<string, string>> file = new Dictionary<string, Dictionary<string, string>>(); file.Add("errors", errors);

好的,这适用于输入字典中的错误,但文件名怎么样?我无法做到

file.Add("name", filename); <-- this won't work

因为filename不是字典而是字符串。如何存储这些信息,使其包含文件名和错误字典?

1 个答案:

答案 0 :(得分:2)

你应该更多地打破这个。首先,创建一个Error类:

public class Error {
    public int Row { get; set; }
    public string ErrorMessage { get; set; }
    public int Id { get; set; }
}

然后创建一个FileName类:

public class FileName {
    public string Name { get; set; }
    public List<Error> Errors { get; set; }

    public FileName() 
    {
        Errors = new List<Error>();
    }
}

然后你可以添加这样的东西:

var file = new FileName();
file.Name = "test1.mdb";
file.Errors.Add(new Error() 
    { 
        Row = 1, 
        Id = 23432, 
        ErrorMessage = "Something went wrong!" 
    });