【问题标题】:Padding out a string so that substring functions don't fail填充字符串以使子字符串函数不会失败
【发布时间】:2016-09-08 22:49:59
【问题描述】:

我采用了一些代码,但它失败了,因为它正在做一个子字符串来提取字符串的特定部分:

policyMemo.Line1 = policyAllMemoText[i].Substring(17)

当字符串长度小于 17 时,问题就出现了。

我可以轻松地检查长度并以这种方式处理它,但是在这种方法中,policyAllMemoText[i] 应用了许多不同的子字符串来从中获取信息。

我看到的最高的是policyAllMemoText[i].Substring(30)

将字符串填充到可能的最高长度 30 是否有意义?我认为不是因为这是一个服务层,如果有人在某处显示policyAllMemeText - 他们可能会开始看到一堆空格(由于任何填充),这可能会导致他们出现格式问题。我想我总是可以在退出方法之前修剪多余的空格?

【问题讨论】:

  • 能否请您添加一个示例来说明您的问题。这个问题似乎不清楚。

标签: .net string padding


【解决方案1】:

由于您想从索引中获取所有字符串到末尾,只需使用 LINQ Skip() 方法。

String.Join( "", policyAllMemoText[i].Skip(17) )

【讨论】:

    【解决方案2】:

    我认为有两种方式:

    第一个: 在尝试子串之前检查长度。 (就像你已经描述的那样)

    第二: 您使用“尝试”来执行此操作,如果失败,程序将转到“捕获”

    我推荐第一个。

    【讨论】:

    • 其实我做了try/catch。事实上,作为一个服务层,我认为返回一个异常表明备忘录上的数据不完整是一个好主意,但我输掉了这场战斗。 :)
    猜你喜欢
    • 1970-01-01
    • 2015-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多