首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带有MessageBox的C# String.SubString不显示任何内容

带有MessageBox的C# String.SubString不显示任何内容
EN

Stack Overflow用户
提问于 2013-03-01 04:25:15
回答 6查看 544关注 0票数 3

我正在尝试使用MessageBox显示string的一部分,为此我使用了String.SubString方法。但是,当我运行代码时,MessageBox不会显示,也不会抛出错误。

出于故障排除的目的,我在尝试显示substring之前在MessageBox中显示了整个字符串。

这将显示以下内容(Received |<BID>22|):

我想要显示字符串的数字部分,但是当我尝试这样做时,什么也没有显示。谁能看看出了什么问题吗?代码如下:

代码语言:javascript
运行
复制
public void parseMessage(string theMessage)
{
    String message = theMessage.Replace("\n", String.Empty);

    MessageBox.Show("Received |" + message + "|");

    String zoneNumber = message.Substring(5, message.Length);

    if (message.StartsWith("<BID>"))
    {
        MessageBox.Show("Bid received for zone " + zoneNumber);
    }
}
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2013-03-01 04:29:16

我无法访问您的链接图像,所以我不确定message包含什么内容,但是

代码语言:javascript
运行
复制
String zoneNumber = message.Substring(5, message.Length);

应该抛出异常,因为它会使字符串的长度溢出5个字符。

使用

代码语言:javascript
运行
复制
String zoneNumber = message.Substring(5);

而不是。

票数 5
EN

Stack Overflow用户

发布于 2013-03-01 04:29:28

改一下怎么样?

代码语言:javascript
运行
复制
String zoneNumber = message.Substring(5, message.Length);

代码语言:javascript
运行
复制
String zoneNumber = message.Substring(5);
票数 2
EN

Stack Overflow用户

发布于 2013-03-01 04:32:44

我想要显示字符串的数字部分,但是当我尝试这样做时,什么也没有显示

这是因为,查看您的消息,它包含前导空格,而您正在尝试执行StartsWith("<BID>")

首先使用TrimStart,然后尝试使用StartsWith,或者直接使用Contains

StartsWith

代码语言:javascript
运行
复制
if (message.TrimStart().StartsWith("<BID>"))
{
    MessageBox.Show("Bid received for zone " + zoneNumber);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15145003

复制
相关文章

相似问题

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