c# - IndexOf 方法在 C#/Java 中应该返回 -1 时返回 0

标签 c# java string logic indexof

我的一个 friend 带着我无法解释的这种奇怪的行为来找我,任何有见识的观点都将不胜感激。

我正在运行 VS 2005 (C# 2.0),下面的代码显示了行为

int rr = "test".IndexOf("");
Console.WriteLine(rr.ToString());

上面的代码,打印“0”,清楚地表明它应该返回-1

这也发生在 Java 中,其中以下类显示了行为:

public class Test{
 public static void main(String[] args){
   System.out.println("Result->"+("test".indexOf("")));
 }
}

我正在运行 Java 1.6.0_17

最佳答案

引自 C# documentation :

If value is Empty, the return value is 0.

您描述的行为完全符合预期(至少在 C# 中)。

关于c# - IndexOf 方法在 C#/Java 中应该返回 -1 时返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2568625/

相关文章:

c# - 初学者正则表达式替换性能问题

c# - 从 CSV 查找

ruby - 如何将字符串数组传递给需要字符串但不在数组中的 ruby​​ 方法?

java - JSP request.getParameter 字符串

c# - 公开基础库中定义的枚举类型

c# - 在 C# 中运行时取消选中复选框时禁用文本框

java - 使用binarySearch从ArrayList中删除单词

java - Apache HttpClient 制作多部分表单帖子

java - H2内存数据库和自定义@GenericGenerator策略

json - Angular:HttpErrorResponse :"Http failure during parsing for..."- 从服务器成功返回的字符串