2010-04-22 6 views
0

J'ai une adresse IP que je veux saisir le dernier morceau de nombre entier. Donc, à partir de "192.168.1.150", j'obtiendrais 150.Quel est le moyen le plus simple d'extraire la dernière section d'une adresse IP?

Ceci est le code que j'avais concoctée (j'utilise C++/CLI), mais d'une certaine manière il se sent plutôt maladroit:

String^ ipString = "192.168.1.150"; 
int lastDot = ipString->LastIndexOf('.'); 
int lastSection = int::Parse(ipString->Substring(lastDot, ipString->Length-lastDot)); 

est-il un moyen plus simple de faire cela?

Répondre

1

Est-ce que ce code fonctionne vraiment? Il ne devrait pas lire ?:

int lastDot = ipString->LastIndexOf('.') + 1; 

Vous ne devez pas spécifier le lengt à Substring si vous voulez tout ce qui reste dans la chaîne, de sorte que vous pouvez réduire à:

String^ ipString = "192.168.1.150"; 
int lastSection = int::Parse(ipString->Substring(ipString->LastIndexOf('.') + 1) ; 

Non Beaucoup d'amélioration cependant, mais je doute que vous pouvez faire beaucoup mieux.

+0

Bravo; vous avez repéré mon erreur évidente :-) –

+0

Était-ce juste un test? ;-) –

+0

Vous êtes passé ... et c'est bon de savoir que je n'ai rien manqué d'évident :-) –