首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我必须在String.Length更新之前终止我的语句?

问为什么我必须在String.Length更新之前终止我的语句?
EN

Stack Overflow用户
提问于 2013-12-16 22:01:03
回答 1查看 33关注 0票数 0

在先前拆分的语句中使用string.Length属性时,除非语句被终止,否则它似乎返回一个http://msdn.microsoft.com/en-us/library/system.argumentoutofrangeexception%28v=vs.110%29.aspx。

考虑到这一点:

代码语言:javascript
复制
// Throw exception?
var X = "[Hello World. This is a test]";
X = X.Split('[')[1].Split(']')[0].Remove(0, X.Length - 1);

而必须用分号终止语句,而不抛出任何异常。

代码语言:javascript
复制
// Works perfectly fine
var X = "[Hello World. This is a test]";
X = X.Split('[')[1].Split(']')[0];
X = X.Remove(0, X.Length - 1);

为什么我必须终止语句的长度才能返回正确的字符串长度?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-16 22:03:40

分配给X的任务直到最后一步才会发生,因为在此之前没有将任何东西分配给X。因此,X.Length查看的是X的原始值,而不是中间值。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20621817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档