Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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 IndexOf应返回0时返回-1_Vb.net_String - Fatal编程技术网

Vb.net IndexOf应返回0时返回-1

Vb.net IndexOf应返回0时返回-1,vb.net,string,Vb.net,String,我对IndexOf函数有一个奇怪的问题: "strcat".IndexOf("st") 返回-1 "strcat".IndexOf("str") 返回0 有人能解释为什么会发生这种情况吗?这可能与您的系统当前的文化有关。根据你的名字,我假设你是越南人 System.Threading.Thread.CurrentThread.CurrentCulture = New Globalization.CultureInfo("vi-VN") Dim i1 As Int32 = "strcat".I

我对
IndexOf
函数有一个奇怪的问题:

"strcat".IndexOf("st")
返回-1

"strcat".IndexOf("str")
返回0


有人能解释为什么会发生这种情况吗?

这可能与您的系统当前的文化有关。根据你的名字,我假设你是越南人

System.Threading.Thread.CurrentThread.CurrentCulture = New Globalization.CultureInfo("vi-VN")
Dim i1 As Int32 = "strcat".IndexOf("st")
Dim i2 As Int32 = "strcat".IndexOf("str")
Dim i3 As Int32 = "strcat".IndexOf("st", System.StringComparison.InvariantCulture)
Dim i4 As Int32 = "strcat".IndexOf("str", System.StringComparison.InvariantCulture)
收益率:i1=-1,i2=0,i3=0,i4=0


编辑以解决评论部分提出的问题


这是怎么发生的?我看不出文化会有什么变化

要回答这个问题,您应该参考该方法的文档。 见:

有关资料如下:

此方法使用当前区域性执行单词(区分大小写和区域性)搜索。搜索从该实例的第一个字符位置开始,一直持续到最后一个字符位置

一种特定的文化有它自己的规则,被认为是“常识/实践”。你不应该假设在不同的文化中你认为正常的东西是正常的。这就是执行比较的方法允许您指定区域性以定义用于执行比较的规则的原因

这不仅适用于字符串,还适用于日期


最著名的编程难题是:您的程序是否通过了土耳其测试?也被称为“土耳其人问题”。您可以研究这些术语以获取更多信息。

它可能与您系统的当前文化有关。根据你的名字,我假设你是越南人

System.Threading.Thread.CurrentThread.CurrentCulture = New Globalization.CultureInfo("vi-VN")
Dim i1 As Int32 = "strcat".IndexOf("st")
Dim i2 As Int32 = "strcat".IndexOf("str")
Dim i3 As Int32 = "strcat".IndexOf("st", System.StringComparison.InvariantCulture)
Dim i4 As Int32 = "strcat".IndexOf("str", System.StringComparison.InvariantCulture)
收益率:i1=-1,i2=0,i3=0,i4=0


编辑以解决评论部分提出的问题


这是怎么发生的?我看不出文化会有什么变化

要回答这个问题,您应该参考该方法的文档。 见:

有关资料如下:

此方法使用当前区域性执行单词(区分大小写和区域性)搜索。搜索从该实例的第一个字符位置开始,一直持续到最后一个字符位置

一种特定的文化有它自己的规则,被认为是“常识/实践”。你不应该假设在不同的文化中你认为正常的东西是正常的。这就是执行比较的方法允许您指定区域性以定义用于执行比较的规则的原因

这不仅适用于字符串,还适用于日期


最著名的编程难题是:您的程序是否通过了土耳其测试?也被称为“土耳其人问题”。这些是你可以研究以获取更多信息的术语。

无法重现。那(可能)并没有实际发生…再看看你的假设。无法重现。那(可能)并没有实际发生…再看看你的假设。这是怎么发生的?我看不出文化会有什么变化?@Sam,请看修改后的答案。谢谢您的修改。我想从ASCII的角度来看,两种文化中的ST有什么不同?新加坡文化有什么不同?这是如何发生的?我看不出文化会有什么变化?@Sam,请看修改后的答案。谢谢您的修改。我想从ASCII的角度来看,两种文化中的ST有什么不同?新加坡文化有什么不同之处?