Problème Substring [Résolu]

theflayer 125 Messages postés dimanche 28 février 2010Date d'inscription 21 juin 2015 Dernière intervention - 6 août 2010 à 01:47 - Dernière réponse : theflayer 125 Messages postés dimanche 28 février 2010Date d'inscription 21 juin 2015 Dernière intervention
- 6 août 2010 à 18:26
Salut,

En faite j'ai un soucis avec Substring(x, y). Ça marche avec certaine valeur mais pas avec d'autres, j'ai essayé plein de chose mais ça marche pas. Déjà le code : (code de débutant soyez indulgent)

//Calculer un masque via une cle

int masqueid = Convert.ToInt32(id.Text);
int bita0 = 32 - masqueid;
string masqueid1 = "".PadLeft(masqueid, '1').PadRight(8, '0');
string masqueid2 = "".PadRight(bita0, '0').PadRight(8, '0');
double masktest = Convert.ToDouble(masqueid1);
string mdrr = Convert.ToString(masktest);

//Début des conditions

if (masqueid <= 8)
{
goto Label0;

Label0:
string maskid = masqueid1.Substring(0,8);
testid1.Text = maskid;
}
if (masqueid > 8 && masqueid <= 16)
{
goto Label1;

Label1:
string maskid1 = masqueid1.Substring(0, 8);
string maskid2 = masqueid1.Substring(8, 8);
testid1.Text = maskid1;
testid2.Text = maskid2;

}
if (masqueid <= 24 && masqueid >16)
{
goto Label2;

Label2:
string maskid11 = masqueid1.Substring(0, 8);
string maskid22 = masqueid1.Substring(8, 8);
string maskid33 = masqueid1.Substring(16, 8);
testid1.Text = maskid11;
testid2.Text = maskid22;
testid3.Text = maskid33;
}
}
Je sais que mes conditions sont surement pas très belles mais au moin ça ca marche . Le problème que j'ai c'est que pour masqueid1 = 1,2,3....8 aucun soucis ça marche niquel ! pour
masqueid1 = 16,24 niquel !
par contre de 8 jusqu'à 15 ou de 17 jusqu'à 24
Ça me renvoie toujours l'exception :

L'index et la longueur doivent faire référence à un emplacement situé dans la chaîne.
Nom du paramètre : length

par exemple pour 11 ça me renvoi cette exception sur cette ligne

string maskid2 = masqueid1.Substring(8, 8);

Pourtant du les 8 caractères à partir du 8iem je vois pas où est le problème ?

Si quelqu'un sais m'indiqué.
Merci d'avance.

Linux c'est une question de VI ou de MORE !
Si Bill Gates donnait du lait à ses programmeurs, ça ferait peut-être des OS costaud.
Afficher la suite 

1 réponse

Répondre au sujet
theflayer 125 Messages postés dimanche 28 février 2010Date d'inscription 21 juin 2015 Dernière intervention - 6 août 2010 à 18:26
+3
Utile
J'ai résolu mon problème , c'était juste la valeur de mon Padright qui était erronée.

Linux c'est une question de VI ou de MORE !
Si Bill Gates donnait du lait à ses programmeurs, ça ferait peut-être des OS costaud.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de theflayer

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.