gpt4 book ai didi

c# - 翻译我写到 C# 的 ActionScript 3 代码

转载 作者:太空宇宙 更新时间:2023-11-03 13:22:30 25 4
gpt4 key购买 nike

最近我发现了C#,这正是我想要的。在使用 C# 之前,我使用 AS3 进行编码。我已经使用 C# 重新编码了我所有的旧程序,但我被这个阻止了:

public function Envoie_Serveur(param1:String) : void
{
var _loc_2:* = String(this.CMDTEC % 9000 + 1000).split("");
this.Serveur.send(this.MDT[_loc_2[0]] + this.MDT[_loc_2[1]] + this.MDT[_loc_2[2]] + this.MDT[_loc_2[3]] + param1);
var _loc_3:* = this;
var _loc_4:* = this.CMDTEC + 1;
_loc_3.CMDTEC = _loc_4;
return;
}

<strong>CMDTEC</strong> and <strong>MDT</strong> are 2 <strong>byteArray</strong> (<em>byte[] in C# I guess</em>)

这就是我尝试但不起作用的方法;c

byte[] _loc_1 = Encode((Int64.Parse(this.CMDTEC[0].ToString("X", System.Globalization.NumberStyles.HexNumber)) % 9000 + 1000) + "");
var fingerprint = new byte[4];

fingerprint[0] = byte.Parse(this.MDT[_loc_1[0]].ToString("X"), System.Globalization.NumberStyles.HexNumber);
fingerprint[1] = byte.Parse(this.MDT[_loc_1[1]].ToString("X"), System.Globalization.NumberStyles.HexNumber);
fingerprint[2] = byte.Parse(this.MDT[_loc_1[2]].ToString("X"), System.Globalization.NumberStyles.HexNumber);
fingerprint[3] = byte.Parse(this.MDT[_loc_1[3]].ToString("X"), System.Globalization.NumberStyles.HexNumber);
this.CMDTEC++;

例如,这就是 CMDTEC 和 MDT 包含的内容:

this.MDT = "1400175151406"; (just for exemple, I get this by socket)
this.CMDTEC = "8306"; (idem as ^)

请问我如何正确地将其转换为 C#?预先感谢您的回答。

最佳答案

这是一个尝试;但您需要在有关输入和输出、数据类型等的问题中添加更多详细信息。虽然您正在处理字符串,但看起来您主要是在处理数值。

为了清楚起见,下面的代码很冗长,它可以压缩得更多。请注意,我实际上并没有编译和尝试代码(因为我没有 Serveur 对象,它不会为我编译)。

    byte[] MDT = System.Text.Encoding.ASCII.GetBytes ("1400175151406");
byte[] CMDTEC = System.Text.Encoding.ASCII.GetBytes ("8306");

void Envoie_Serveur(string param1)
{
// firstly, get CMDTEC as a string, assuming ascii encoded bytes
string sCMDTEC = System.Text.Encoding.ASCII.GetString(CMDTEC);

// now convert CMDTEC string to an int
int iCMDTEC = int.Parse(sCMDTEC);

// now do modulation etc on the int value
iCMDTEC = iCMDTEC % 9000 + 1000;

// now convert modulated int back into a string
sCMDTEC = iCMDTEC.ToString();

// now convert modulated string back to byte array, assuming ascii encoded bytes
byte[] bCMDTEC = System.Text.Encoding.ASCII.GetBytes(sCMDTEC);

// send the data
this.Serveur.send(((int)this.MDT[bCMDTEC[0]]) + ((int)this.MDT[bCMDTEC[1]]) + ((int)this.MDT[bCMDTEC[2]]) + ((int)this.MDT[bCMDTEC[3]]) + int.Parse(param1));

// convert CMDTEC bytes to string again
sCMDTEC = System.Text.Encoding.ASCII.GetString(CMDTEC);

// convert CMDTEC string to int again
iCMDTEC = int.Parse(sCMDTEC);

// increament CMDTEC
iCMDTEC += 1;

// convert back to string
sCMDTEC = iCMDTEC.ToString();

// convert back to bytes
this.CMDTEC = System.Text.Encoding.ASCII.GetBytes(sCMDTEC);
}

关于c# - 翻译我写到 C# 的 ActionScript 3 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23684662/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com