public List<string> LoadXmlFilesFromFileNames(string[] fileNames, Dictionary<string, XmlFile> xmlFilesList) { List<string> xmlNames = new List<string>(); foreach (string fileName in fileNames) { if (!File.Exists(fileName)) { continue; } XmlFile[] filesArray = new XmlFile[xmlFilesList.Values.Count]; xmlFilesList.Values.CopyTo(filesArray, 0); XmlFile item = new XmlFile(); item.GenerateID(filesArray); item.Name = Path.GetFileName(fileName); item.Content = File.ReadAllText(fileName); item.TimeStamp = File.GetLastWriteTime(fileName); if (!xmlFilesList.ContainsKey(item.Name)) { xmlFilesList.Add(item.Name, item); xmlNames.Add(item.Name); } } return xmlNames; }