繁体   English   中英

子字符串未引用C#中给定的String异常

[英]Substring not refers to the given String exception in C#

我正在用C#编写简单程序,只是为了好玩,我在将简单的HEX编码为String -translation方法,如下所示:

 private String translate(String hex)
 {
     StringBuilder output = new StringBuilder();

     int i = 0;
     while (i+2 <= hex.Length)
     {
         String str = hex.Substring(i, i + 2);
         output.Append((char)Convert.ToInt32(str, 16));
         i += 2;
     }

每次我运行应用程序时,都会收到未处理的异常“超出范围和界限”,并收到消息,该Substring方法参数的索引和指向必须引用十六进制-String的某个点。 仅当i +2小于或等于hex.Length时,才在条件为true的情况下在子字符串-method行之前执行if -statement,但这不能正常工作。 当我仅使用一个字节的十六进制输入字符串(表示一个ASCII字符)时,我的应用程序正常运行。 有人可以帮助我完成我的项目吗?

采用:

hex.Substring(i, 2)

Substring中的第二个参数是length ,而不是end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM