Il mio compito è quello di migrare questo codice Java in una versione C#, ma ho problemi con il metodo ValueOf
, poiché non riesco a trovare una versione equivalente per C# (a causa del parametro Radix
utilizzato su Java, 16 in questo caso).Equivalenza del metodo Java Integer.ValueOf in C# con parametro Radix
public String decrypt_string(String s)
{
String s1 = "";
int i = s.length()/2;
int[] ai = new int[i];
for (int j = 0; j < i; j++)
{
// This is the "problematic" line \/
ai[j] = Integer.valueOf(s.substring(j * 2, j * 2 + 2), 16).intValue();
}
int[] ai1 = decrypt_block(ai, i);
for (int k = 0; k < i; k++)
{
if (ai1[k] != 0)
s1 = s1 + (char)ai1[k];
}
return s1;
}
Ecco il mio tentativo, ma è venuto a mancare:
public String decrypt_string(String s)
{
String s1 = "";
int i = s.Length/2;
int[] ai = new int[i];
for (int j = 0; j < i; j++)
{
int startIndex = j * 2;
string tmp = s.Substring(startIndex, 2);
ai[j] = Int32.Parse (tmp);
}
int[] ai1 = decrypt_block(ai, i);
for (int k = 0; k < i; k++)
{
if (ai1[k] != 0)
s1 = s1 + (char)ai1[k];
}
return s1;
}
Grazie in anticipo
Qualche motivo per il Down Vote? –
Direi che il downvote è perché non hai spiegato cosa stai cercando di fare, e solo per scontato che uno sappia cosa significa il 16 nel codice java. – SimpleVar