为什么我必须在 String.Length 更新之前终止我的语句
本文关键字:终止 我的 语句 更新 Length String 为什么 | 更新日期: 2024-10-25 11:25:32
使用字符串时。以前拆分的语句中的 length 属性,它似乎返回 ArgumentOutOfRangeException,除非该语句被终止。
考虑一下:
// Throw exception?
var X = "[Hello World. This is a test]";
X = X.Split('[')[1].Split(']')[0].Remove(0, X.Length - 1);
而不是必须使用不会引发任何异常的分号终止语句。
// Works perfectly fine
var X = "[Hello World. This is a test]";
X = X.Split('[')[1].Split(']')[0];
X = X.Remove(0, X.Length - 1);
为什么我必须终止 Length 的语句才能返回字符串的正确长度?
X
的赋值直到最后一步才会发生,因为在此之前你没有给X
分配任何东西。因此,X.Length
查看X
的原始值,而不是中间值。