Ce que j'ai en cours, c'est que j'ai deux fichiers. Les deux fichiers sont délimités par '|'. Si le fichier 1 correspond à une ligne du fichier 2, je dois combiner les lignes. Voici le code:comparaison chaîne et variable mais échec basé sur contient
string[] mathlines = File.ReadAllLines(@"C:\math.txt");
var addlines = File.ReadAllLines(@"K:\add.txt");
foreach (string ml in mathlines)
{
string[] parse = ml.Split('|');
if (addlines.Contains(parse[0]))
{
File.AppendAllText(@"C:\final.txt", parse[0]+"|"+parse[1]+"\n");
}
else
{
File.AppendAllText(@"C:\final.txt", ml + "\n");
}
}
Je réalise que la partie mathématique n'est pas encore configurée, mais j'ai besoin de faire fonctionner la partie de correspondance.
Voici un exemple:
mathlines:
dart|504.91
GI|1782.06
Gcel|194.52
clay|437.35
grado|217.77
greGCR|14.82
rp|372.54
rp2|11.92
gsg|349.92
GSxil|4520.55
addlines:
Gimet|13768994304
GSxil|394735896576
Ho|4994967296
gen|485331304448
GSctal|23482733690
Obr|88899345920
Comme vous pouvez le voir mathlines contient GSxil et le fait addlines mais mes if (addlines.Contains)
jamais amendes la variable addlines. Toute aide est toujours aimée! Merci.
Désolé de ne pas mentionner que j'en ai besoin pour correspondre exactement à la comparaison. Aussi j'ai besoin de séparer la variable sur la bonne ligne qui correspond. Donc, je devrais diviser le 394735896576 cet exemple et puis ajouter le 394735896576.
Le code fonctionne bien pour moi. Est-ce que K: \ add.txt est le bon chemin? –
Les blocs if else ne font-ils pas la même chose? – tafa
le bloc else est supposé être pour tout ce qui échoue, cela fonctionne comme prévu. –