Je vais chercher la chaîne de fichier de sortie qui sera toujours soit puisque je récupère 3 caractères au cas où merci p> p> ok code> ou err code>.
Après cela, je pose ce résultat OK code> ou ERR code> à la propriété Enum, qui est OK, tout fonctionne, mais je suis sûr qu'il doit y avoir un meilleur moyen que le mien . ok code> est extrait, je dois supprimer le troisième élément de OK code>; résultat. p>
4 Réponses :
Vous pouvez simplement utiliser string.trim () code> pour supprimer le ';' Si c'est là. "Err" = "Err"
"Ok;" = "Ok"
Vous pouvez simplement faire cela:
EnumName result;
if (Enum.TryParse(message.TrimEnd(';'), out result))
SomePropery = result;
else
throw new Exception("Unexpected file contents: " + message);
Si vous avez l'ENum suivant
int i = (int)state; MessageBox.Show(i.ToString()); //should show 1 or 0
Enum message = Enum.Err;
if (Regex.Match(File.ReadAllText(@"C:\Temp\SomeReport.txt"), "(ok.+?){3}", RegexOptions.Singleline).Success)
{
message = Enum.OK;
}
Si vous attendez de la position précise 411 pour la chaîne, vous pouvez vérifier uniquement pour
ok code>:fichier.readalltext (@ "c: \ temp \ somereport.txt"). Soustring (411, 2 ); code>. Si le message est autre chose, maisOK code>, alors c'est probablement une erreur. Logique?J'attends un résultat OK ou ERR. C'est quand j'utilise la sous-chaîne (411, 3);