【发布时间】:2015-08-27 15:40:19
【问题描述】:
我想我解决了我的主要问题,虽然我不太了解,所以我会在这里请人给我一个好的解释,或者像我 5 岁一样向我解释。
考虑以下...
String myString = "something that thing, another thing";
Console.WriteLine(myString.SubString(0, myString.Length));
上面只会打印出整个字符串,没关系。我没有对 myString 进行任何真正的更改。
继续,使用相同的 myString
Console.WriteLine(myString.SubString(0, myString.LastIndexOf(',')));
这会像预期的那样给我“某样东西”。
现在是愚蠢的部分,因为据我了解,我从未使用 LastIndexOf() 或 .Length 更改 myString
Console.WriteLine(myString.SubString(myString.LastIndexOf(','), myString.length));
这将引发 ArgumentOutOfIndexExpcetion。因为显然我更改了 myString...所以现在...在 ',' 之后获取字符串的一半的正确方法是...
Console.WriteLine(myString.SubString(myString.LastIndexOf(','), (myString.length - myString.LastIndexOf(','))));
主要问题
如果我从不更改 myString 的开头,为什么我需要重新格式化我的索引...不是 String 类中的所有方法都使 String 永远不会更改。
所以Java subString 是不同的?因为它的开始索引到结束索引... http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#substring(int,%20int)
【问题讨论】:
-
Java 比 C# 更有意义的一个很好的例子。 Java - substring(int startIndex, int endIndex) 在我看来比它的 C# 对应物更有效。
标签: c#