字符串 IndexOf EOT 在 net-5 项目中不起作用

string IndexOf EOT does not work in net-5 projects

我正在将一个 net 框架项目升级到 net5,观察到 net 框架与 net5 中同一行代码的行为发生了变化。例如,如果我有一个带有 EOT 的文本,net5 不会给出索引,但在 net 框架项目中同样有效。

string sampleString = "hello" + "\u0004" + "test";
string delimiter = "\u0004";
var test = sampleString.IndexOf(delimiter);
\Net framework gives a index **5**
\Net core gives a index **0** for the code

这种行为改变有什么原因吗?

试试这个

string delimiter = "\u0004";
string sampleString = "hello" + delimiter + "test";

var uniCodeValue = char.Parse(delimiter);//  '\u0004' unicode values
var test = sampleString.IndexOf(uniCodeValue); //5
test = sampleString.IndexOf("test"); //6