Nhiệm vụ của tôi là di chuyển mã Java này sang phiên bản C#, nhưng tôi gặp sự cố với phương thức ValueOf
, vì tôi dường như không tìm thấy phiên bản tương đương cho C# (vì tham số Radix
được sử dụng trên Java, 16 trong trường hợp này).Tương đương phương thức Java Integer.ValueOf trong C# Với tham số 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;
}
Đây là cố gắng của tôi, nhưng nó thất bại:
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;
}
Cảm ơn trước
Bất kỳ lý do gì để bỏ phiếu xuống? –
Tôi cho rằng downvote là vì bạn không giải thích về những gì bạn đang cố gắng làm, và chỉ giả định người ta sẽ biết 16 có nghĩa là gì trong mã java. – SimpleVar