Erreur de formulaire de bourse, veuillez résoudre mes problèmes

la programmation


System.ArgumentOutOfRangeException: Index and length must refer to a location within the string. Parameter name: length at System.String.Substring(Int32 startIndex, Int32 length) at ScholarFormDetail1112122.btn_submit_Click(Object sender, EventArgs e)

Ce que j’ai essayé :

System.ArgumentOutOfRangeException: Index and length must refer to a location within the string. Parameter name: length at System.String.Substring(Int32 startIndex, Int32 length) at ScholarFormDetail1112122.btn_submit_Click(Object sender, EventArgs e)

Solution 1

Jetez un œil aux exemples suivants :

public class Program
{
	public static void Main()
	{
		string test= "0123456789";
		
		// 1.) Will fail, because max. Index will be 9
		// string subString0= test.Substring(10, 1);
		
		// 2.) Ok
		string subString1= test.Substring(9, 1);
		
		// 3.) Will fail because  there is only one character available. See note *1)
		// string subString2= test.Substring(9, 100);

		// 4.) Ok
		string subString3= test.Substring(9, 1);
	}
}

Note 1)
Il est discutable de lever une exception dans ce cas. La plupart des autres langues renverront simplement les caractères disponibles.

[Edit]

Note *1) , Merci à Richard pour son astuce.
Certaines langues ne lèvent pas d’exception dans ce cas.

J’espère que ça aide.

コメント

タイトルとURLをコピーしました