-9

在此处输入图像描述

在此处输入图像描述

错误一直说“startIndex不能大于字符串的长度。参数名称:startIndex”

IntializedPorts[i] = int.Parse(ports[i].ToString().Substring(105, 106));
//I tried this too
IntializedPorts[i] = int.Parse(ports[i].ToString().Substring(105, 1));
//this works, this gets the first number in the string that would be five
IntializedPorts[i] = int.Parse(ports[i].ToString().Substring(0, 1));

//我正在尝试子串的字符串,我正在尝试获取字符串中ipaddress末尾的数字7

5b5bfdfe-6eb1-4b10-80af-cf4d9f1010fe3fc8ffa1-c16b-4d7b-9e55-1e88dfe15277FastTrackVirusSoftware192.168.6.17TCP/IPYESReady8/4/2013 1:07:43 PM9/1/2013 1:07:43 PM
4

2 回答 2

1

根据您的屏幕截图,ports是一个字符串。因此,您的参考ports[i]是从该字符串中获取一个字符并调用.ToString()它。这将是一个长度为 1 的字符串,这将导致您发布的异常。

将您的代码更改为:

IntializedPorts[i] = int.Parse(ports.Substring(105, 1));

它应该工作。

于 2013-08-12T21:54:10.337 回答
1

它是“TCP/IP”之前的字符

string line = "5b5bfdfe-6eb1-4b10-80af-cf4d9f1010fe3fc8ffa1-c16b-4d7b-9e55-1e88dfe15277FastTrackVirusSoftware192.168.6.17TCP/IPYESReady8/4/2013 1:07:43 PM9/1/2013 1:07:43 PM";
var num = line.Substring(line.IndexOf("TCP/IP") - 1, 1);
于 2013-08-12T21:00:01.313 回答