veuillez suggérer le moyen le plus simple de faire la logique ci-dessous.
Nous pouvons utiliser des tables de données et une requête à partir de la table? strong> Description: p> FilePath contient la liste du chemin de fichier .txt
À l'intérieur de la boucle de Forache, lisez tout le contenu du fichier et trouvé la date présente dans le contenu. P> Ajout de la date Valeur de la date Valeur du fichier dans un dictionnaire. P> Maintenant, je dois trouver la date qui est différent et le nom de fichier correspondant.
Par exemple: nous avons 3 fichiers file1.txt, file2.txt, file3.txt. 2 premiers fichiers ayant la valeur de date 25/9/2019
et le 3ème fichier ayant la valeur de date 24/9/2019.
Nous avons ici besoin de trouver la date qui est différente de l'autre I.E 24/9/2019 et de la correspondance
Nom du fichier File3.txt. P> à partir de la valeur du dictionnaire Comment puis-je trouver la date (date qui est différente de la date de date) et le nom de fichier correspondant?. P> veuillez suggérer le simple ou tout autre moyen d'effectuer cette logique. p> p>
3 Réponses :
Vous pouvez utiliser le dictionnaire if (dic.Count > 1)
{ /* You have different dates connected to their files. */ }
Merci JQsoft. Bien sûr, je peux utiliser un dictionnaire pour avoir une paire de la valeur de clé. Mais comment puis-je trouver la date différente des autres et le fichier correspondant du dictionnaire
Vous pouvez utiliser un dictionnaire d'assistant avec le nombre d'occurrences pour chaque date. La méthode qui vous renvoie le nom de fichier, serait comme:
Votre exigence est ambiguë car il n'y a aucun moyen de dire quelle est la bonne date. Toutefois, si vous souhaitez trouver une liste de dates et des fichiers associés à ces dates, vous pouvez améliorer votre code en effectuant la date comme clé.
Votre déclaration de dictionnaire peut donc changer à - P>
AddFileName(dic,Path.GetFileName(CurrentPath), Datevalue);
void AddFileName(Dictionary<DateTime, List<string>> fileInfo, DateTime dt, string fileName)
{
if (fileInfo.ContainsKey(dt))
{
var fileList = fileInfo[dt];
fileList.Add(fileName);
}
else
{
fileInfo.Add(dt, new List<string> { fileName });
}
}
La possibilité maximale est 2. Si nous avons 1000 fichiers probablement 999 ont la date X et le fichier 1 restant ont une date.
OK, alors vous pouvez itérer les clés et obtenir les différentes dates et la liste des fichiers associés.
Comment puis-je trouver la date différente des autres dates et le fichier correspondant de la valeur du dictionnaire.
S'il y a 10 fichiers avec toutes les dates différentes. Lequel est celui qui est différent des "autres dates"?
Que se passe-t-il si de ces 10 fichiers, 2 ont la date x, 3 ont la date Y, 2 ont la date z, puis le reste a des dates différentes?
HI James Maximum Possibilité est 2. Si nous avons 1000 fichiers probablement 999 ont une date X et le fichier restant 1 ont une date.
Vous pouvez utiliser LINQ
GroupBy CODE> pour regrouper les paires de la valeur de la clé par leur composant de valeur. Maintenant, vous pouvez regarder les chiffres du groupe.