Ошибка конвертирования string to int - C#

Узнай цену своей работы

Формулировка задачи:

Всем привет!

Очень прошу помощи

. в решение проблемы. Переписываю методы на Java, которые декодируют строку, ключом которого является OS имя пользователя Есть 2 метода на Java, которые я переписываю на C#. Ключ: Jallvar Сообщение: 353c343e353d383e36353a3e36353a3e36373a3e353d383e36363c3e Зашифровано: jallvar Выдает ошибку: неверный входящий аргумент в методе decode, на строке: int x = Convert.ToInt32(var8) - Convert.ToInt32(var5[var7]); Жалоба на переменную var8 На JAVA
Листинг программы
  1. public static String decode(String var0, String var1) {
  2. String var2 = h2s(var0);
  3. if(!var2.equals("") && var2.contains(":")) {
  4. String var3 = "";
  5. for(String var4 = ""; var3.length() < var2.split(":").length; var3 = var3 + var1) {
  6. ;
  7. }
  8. byte[] var5 = var3.getBytes();
  9. byte[] var6 = new byte[var2.split(":").length];
  10. int var7 = 0;
  11. String[] var11;
  12. int var10 = (var11 = var2.split(":")).length;
  13. for(int var9 = 0; var9 < var10; ++var9) {
  14. String var8 = var11[var9];
  15. var6[var7] = (byte)(Integer.valueOf(var8).intValue() - Integer.valueOf(var5[var7]).intValue());
  16. ++var7;
  17. }
  18. return new String(var6);
  19. } else {
  20. return "";
  21. }
  22. }
  23. public static String h2s(String var0) {
  24. if(var0 == null) {
  25. return "";
  26. } else if(!var0.matches("[0-9a-f]+")) {
  27. return var0;
  28. } else {
  29. byte[] var1 = (new BigInteger(var0, 16)).toByteArray();
  30. byte[] var2 = new byte[var1.length];
  31. for(int var3 = 0; var3 < var1.length; ++var3) {
  32. var2[var3] = (byte)(var1[var3] - 4);
  33. }
  34. String var6 = new String(var2);
  35. try {
  36. var6 = URLDecoder.decode(var6.toString(), "CP1251");
  37. } catch (UnsupportedEncodingException var5) {
  38. var6 = var6.toString();
  39. }
  40. return var6;
  41. }
  42. }
Я переписал на C# и у меня получилось следующее
Листинг программы
  1. static class Decode
  2. {
  3. static Regex h2sReg = new Regex("[0-9a-f]+");
  4. public static string decode(string var0)
  5. {
  6. Console.WriteLine(Environment.UserName);
  7. string var1 = (Environment.UserName.Length > 0) ? Environment.UserName : "nullkey";
  8. string var2 = h2s(var0);
  9. if (var2.Length > 0 && var2.Contains("-"))
  10. {
  11. string var3 = "";
  12. for (string var4 = ""; var3.Length < var2.Split('-').Length; var3 = var3 + var1)
  13. {
  14. ;
  15. }
  16. byte[] var5 = GetBytes(var3);
  17. byte[] var6 = new byte[var2.Split('-').Length];
  18. int var7 = 0;
  19. string[] var11;
  20. int var10 = (var11 = var2.Split('-')).Length;
  21. for (int var9 = 0; var9 < var10; var9++)
  22. {
  23. string var8 = var11[var9].ToString();
  24. int x = Convert.ToInt32(var8) - Convert.ToInt32(var5[var7]);
  25. var6[var7] = (byte)(x);
  26. var7++;
  27. }
  28. return BitConverter.ToString(var6);
  29. }
  30. else {
  31. return "";
  32. }
  33. }
  34. public static string h2s(string var0)
  35. {
  36. if (var0 == null)
  37. {
  38. return "";
  39. }
  40. else if (!h2sReg.IsMatch(var0))
  41. {
  42. return var0;
  43. }
  44. else {
  45. byte[] var1 = BigInteger.Parse(var0, System.Globalization.NumberStyles.HexNumber).ToByteArray();
  46. byte[] var2 = new byte[var1.Length];
  47. for (int var3 = 0; var3 < var1.Length; var3++)
  48. {
  49. var2[var3] = (byte)(var1[var3] - 4);
  50. }
  51. string var6 = BitConverter.ToString(var2);
  52. try
  53. {
  54. var6 = HttpUtility.UrlDecode(var6, Encoding.GetEncoding("windows-1251"));
  55. }
  56. catch
  57. {
  58. var6 = var6.ToString();
  59. }
  60. return var6;
  61. }
  62. }
  63. static byte[] GetBytes(string str)
  64. {
  65. byte[] bytes = new byte[str.Length * sizeof(char)];
  66. System.Buffer.BlockCopy(str.ToCharArray(), 0, bytes, 0, bytes.Length);
  67. return bytes;
  68. }
  69. }

Решение задачи: «Ошибка конвертирования string to int»

textual
Листинг программы
  1. using System.Globalization;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.786 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут