2012-11-02 2 views
1

Je me demande si vous pouvez changer la priorité d'un thread en laissant l'utilisateur entrer une chaîne (Lowest, BelowNormal, etc)? Pour autant que je sache, le "ThreadPriority" est une énumération mais je ne sais pas comment le faire. Comment puis-je modifier BelowNormal en quelque chose que l'utilisateur entre (ReadLine)?Définir la priorité de thread avec console.readline? C#

Merci!

+0

Est-ce aussi simple que d'envoyer un nombre correspondant à la valeur des priorités enum? –

+0

Essayez de l'analyser avec Enum.Parse – AntLaC

Répondre

3
thread.Priority = (ThreadPriority)Enum.Parse(typeof(ThreadPriority), Console.ReadLine()); 
+0

Merci! J'apprécie vraiment la réponse rapide! –

-2

Vous pouvez analyser la chaîne et faire une condition

string userinput = Console.ReadLine(); 
if (userinput.Contains("BelowNormal")) 
{ 
    thread.Priority = ThreadPriority.BelowNormal; 
} 
+0

Merci! J'apprécie vraiment la réponse rapide! –

+0

Thx, ça fait longtemps que j'utilise la console –

+0

Alors, que se passe-t-il si je tape 'NotBelowNormal'? –

1

Vous pouvez utiliser Enum.Parse, par exemple utilise la méthode de surcharge avec ignoreCase:

thread.Priority = (ThreadPriority)Enum.Parse(typeof(ThreadPriority), 
             "belownormal", true); 
+0

Merci! J'apprécie vraiment la réponse rapide! –

Questions connexes