“IndexOutOfRangeException未处理”
string ebtocosname;
ebtocosname = webBrowser2.Document.GetElementById("Fullname").GetAttribute("value");
var NAMES = ebtocosname.Split();
webBrowser1.Document.GetElementById("FirstName").SetAttribute("value", NAMES[0]);
webBrowser1.Document.GetElementById("LastName").SetAttribute("value", NAMES[1]); // This line here shows that IndexOutofRangeException was unhandled
“Fullname”的值只有一个名称。因此它只应在“FirstName”中写入NAMES [0]并在“LastName”上留空。
但是但是它停止了,它显示代码的最后一行是“IndexOutOfRangeException未处理”
而且,只有“Fullname”的值上有两个名称才能正常工作。
如果“Fullname”的值中没有NAMES [1],我怎样才能使它不会停止?
我要做的是将“Fullname”的值转换为“FirstName”和“LastName”。但有时“Fullname”的值不包含姓氏......然后我的程序停止并说“IndexOutOfRangeException未处理”
请帮帮我!我怎样才能完成这项工作呢?当“全名”中不存在变量NAMES [1]时,我写了很多IF语句来处理这种情况,但它仍然显示“”IndexOutOfRangeException未处理“
答案 0 :(得分:3)
检查您的分裂是否产生了两个或两个值:
if(NAMES.Length == 2)
webBrowser1.Document.GetElementById("LastName").SetAttribute("value", NAMES[1]);
当然,这假设你没有其他问题,如:
等
您应该更仔细地计划输入验证以捕捉任何其他奇怪的行为。