【问题标题】:C# Ignore error/warning on SubstringC#忽略子字符串上的错误/警告
【发布时间】:2015-01-05 06:51:05
【问题描述】:

我使用 Substring 来解码生成的激活代码 但是当用户输入错误的代码时,例如 1 或 123 c# 停止并说“索引和长度必须引用字符串中的位置。”要么 .. 如何在不检查长度的情况下忽略它...

在 php 中,我们可以使用“@”忽略警告和错误

@myfunc(12);

但是在 C# 中如何?

【问题讨论】:

  • 没有。在尝试 substring 之前检查长度是否合适
  • 来吧,人们对我的 Q 做否定,因为 php 可以做而 C# 不能!
  • 忽略错误是一个坏主意和坏习惯,不管是什么语言。
  • 我们必须停止道德专制主义,我们只是先进的猿猴......
  • 你会想要一个conditional检查,如果它满足该长度要求,则满足特定标准,然后执行子字符串例程..

标签: c# error-handling substring warnings


【解决方案1】:

简短的回答是,你不能。

正确答案是不应该,并检查输入是否有效。

可怕的答案看起来像这样:

public void SwallowExceptions(Action action)
{
  try
  {
    action();
  }
  catch
  {
  }
}

public string DoSomething()
{
  string data = "TerribleIdea";
  string result = null;
  SwallowExceptions(() => result = data.Substring(0, 10000));
  return result;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-21
    • 2013-02-24
    • 2013-12-15
    • 1970-01-01
    • 2014-05-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多