【问题标题】:Unusual String Error异常字符串错误
【发布时间】:2009-06-07 15:37:30
【问题描述】:

我正在使用this answer 慷慨提供给我的一些示例代码,当我输入一个长字符串以匹配它时,它在某个时候崩溃并出现 IndexOutOfRangeException。奇怪的是,当我检查字符串时,它似乎被设置为“System.Char[]”。为什么会发生这种情况,我该如何解决?

【问题讨论】:

    标签: c# string


    【解决方案1】:

    我强烈怀疑你有什么地方:

    char[] chars = ...;
    string myString = chars.ToString();
    

    而不是

    char[] chars = ...;
    string myString = new string(chars);
    

    【讨论】:

      【解决方案2】:

      这段代码:

          var mutated = member.Str.ToCharArray();
          Convert.ToChar((member.Str[ipos] + delta)%123).ToString().CopyTo(0, mutated, ipos, 1);
          member.Str = mutated.ToString();
      

      应该按照 Jon 的建议:

          var mutated = member.Str.ToCharArray();
          Convert.ToChar((member.Str[ipos] + delta)%123).ToString().CopyTo(0, mutated, ipos, 1);
          member.Str = new string(mutated);
      

      【讨论】:

        猜你喜欢
        • 2013-10-12
        • 2016-10-07
        • 1970-01-01
        • 1970-01-01
        • 2016-07-02
        • 2015-05-26
        • 2015-05-25
        • 2020-07-26
        • 2012-10-03
        相关资源
        最近更新 更多