Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
vb.net的长度不能为零_Vb.net - Fatal编程技术网

vb.net的长度不能为零

vb.net的长度不能为零,vb.net,Vb.net,在我收到错误消息之前,Hi是用来检测字节长度的: 长度不能小于零。参数名称:长度 我在这一行得到了错误: 新用户名=新用户名.Substring(0,新用户名.IndexOf(“已加入”)) 我正在从我得到的字符串中删除“joined”…如果数据不是“joined”,我怎么能忽略它呢 谢谢试试这个: new_username = new_Username.Replace(" Joined ", "") 请注意,这将删除所有出现的“Joined”子字符串,而不仅仅是第一个子字符串。看起来像是新的

在我收到错误消息之前,Hi是用来检测字节长度的:

长度不能小于零。参数名称:长度

我在这一行得到了错误:

新用户名=新用户名.Substring(0,新用户名.IndexOf(“已加入”))

我正在从我得到的字符串中删除“joined”…如果数据不是“joined”,我怎么能忽略它呢

谢谢

试试这个:

new_username = new_Username.Replace(" Joined ", "")

请注意,这将删除所有出现的“
Joined
”子字符串,而不仅仅是第一个子字符串。

看起来像是
新的\u用户名。IndexOf(“Joined”)
返回-1,表示
子字符串未找到“Joined”字符串。我将把这分成两种说法:

您看到的错误是您正在有效地进行此呼叫:

new_username = new_username.Substring(0, -1)

在此上下文中使用IndexOf之前,我将测试它返回的内容:

if(new_username.IndexOf(" Joined") > 0)
{
      new_username = new_username.Substring(0, new_username.IndexOf(" Joined "))
}

如果初始字符串只有用户名和可选字符串“joined”,而没有其他内容,那么这将非常有效!还假设没有人将“加入”作为用户名的一部分:/@Michael:.IndexOf()基于的代码在这种情况下也会失败。这是低效的,因为您调用了IndexOf两次。最好调用一次并缓存它以便在两个位置使用。在进行优化之前,可能值得检查MSIL-我认为编译器可以在没有副作用的情况下优化第二次调用。@ctake请原谅我的无知,但你会怎么做?创建一个新变量?