خطأ في نموذج المنحة يرجى حل مشاكلي


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)

ما حاولت:

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)

الحل 1

ألقِ نظرة على الأمثلة التالية:

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);
	}
}

ملاحظة *1)
ومن المشكوك فيه أن نرمي استثناءً في هذه الحالة. ستعيد معظم اللغات الأخرى الأحرف المتوفرة ببساطة.

[Edit]

ملاحظة *1) شكرًا لريتشارد على تلميحه.
بعض اللغات لا تطرح استثناءً في هذه الحالة.

اتمني ان يكون مفيدا.

コメント

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