如果您IndexOf
使用软连字符作为参数调用,它将按预期工作:
"aaa".IndexOf(Convert.ToChar(173)) // return -1
"aaa\u00AD".IndexOf(Convert.ToChar(173)) // return 3
但是,如果您使用软连字符作为字符串调用完全相同的代码,则即使字符串中没有软连字符,返回值也将为 0。
"aaa".IndexOf(Convert.ToChar(173).ToString()) // return 0
"aaa\u00AD".IndexOf(Convert.ToChar(173).ToString()) // return 0
为什么IndexOf
使用字符串时会失败?