string.Substring在C#中无法正常工作

时间:2013-08-27 17:53:37

标签: c# .net string substring

我在C#

中面临string.Substring()的问题

我的示例应用程序如下。

string myString = " Jun30/13 DU SJ9802";
List<string> list = new List<string>();
list.Add(myString.Substring(0,15));
list.Add(myString.Substring(0, 10));
list.Add(myString.Substring(9, 3));
list.Add(myString.Substring(9, 4));

当我看到结果时,它显示为

myString.Substring(0,15)

“Jun30 / 13 DU SJ”

myString.Substring(0,10)

“Jun30 / 13”

myString.Substring(9,3)

“DU”

myString.Substring(9,4)

“DU”

它显示 myString.Substring(9,3) myString.Substring(9,4)错误的子字符串。正确的子字符串应为“DU”和“DU S”

有什么想法吗?

调试图片:http://i.stack.imgur.com/TRjC9.png

3 个答案:

答案 0 :(得分:13)

它实际上正常工作。字符串上有一个前导空格,因此第九个索引是DU之前的空格。考虑这个图:

 Jun30/13 DU SJ9802
0123456789

你是从第九个索引开始的,那是一个空格

答案 1 :(得分:3)

String.Substring“从指定的字符位置开始并具有指定的长度”。

在你的情况下,如果你看一下你的字符串:

" Jun30/13 DU SJ9802"
 0123456789

第9个位置是空格,因此9,3应为" DU"9,4应为" DU ",这正是您所获得的。

答案 2 :(得分:0)

我相信你忘记了字符索引从0开始,而不是1。