static bool CheckFiles(FileNames files) { var headList = files.Select(x => GetFileName(x).Split('_').First()).Distinct().ToList(); foreach (var head in headList) { var test = GetFileName(files.First()).Split('_').Last(); var namelist = files.Where(x => head == GetFileName(x).Split('_').First()).ToList(); // case : only single files exist if (namelist.Count < 2) { return(false); } var thcks = ThckFilter(namelist); var rflts = RfltFilter(namelist); // case : only single rflt and result exist. // prevent 1-1_1_Result.csv and 1-1_2_Result.csv if (thcks.Count() != 1 || rflts.Count() != 1) { return(false); } } return(true); }