谁能帮我吧这段Delphi7代码翻译程C#代码(100分)

  • 主题发起人 主题发起人 hangzhou492
  • 开始时间 开始时间
H

hangzhou492

Unregistered / Unconfirmed
GUEST, unregistred user!
代码:
function StrToHex(AStr: string): string;
var
  I : Integer;
  //Tmp: string;
begin
  Result := '';
  For I := 1 to Length(AStr)do
  begin
    Result := Result + Format('%2x', [Byte(AStr[I])]);
  end;
  I := Pos(' ', Result);
  While I <> 0do
  begin
    Result[I] := '0';
    I := Pos(' ', Result);
  end;
end;

function HexToStr(AStr: string): string;
var
  I: Integer;
  CharValue: Word;
begin
  Result := '';
  For I := 1 to Trunc(Length(Astr)/2)do
  begin
    Result := Result + ' ';
    CharValue := TransChar(AStr[2*I-1])*16 + TransChar(AStr[2*I]);
    Result[I] := Char(CharValue);
  end;
end;

function TransChar(AChar: Char): Integer;
begin
  if AChar in ['0'..'9'] then
    Result := Ord(AChar) - Ord('0')
  else
  Result := 10 + Ord(AChar) - Ord('A');
end;
 
你这代码就是想实现10进制与二进制转换,在C#中一句话就搞定了
int a = 20;
//转化为二进制
string sHex = Convert.ToString(a,2);
//转化为十六进制
string s16x = Convert.ToString(a,16);

转换回去
int k = Convert.ToInt16(sHex,2);
int m = Convert.ToInt16(s16s,16);
 
是啊,100分浪费了,呵呵
 
后退
顶部