【发布时间】:2022-12-08 00:13:11
【问题描述】:
我有这个声明我正在尝试将形式目标 c 转换为 c#:
NSData *blockData;
if(valid)
{
if(sendingLast)
{
blockData = rawFirmwareData;
}
else
{
int startingPos = (currSensor.firmwareBlockIterator *
(ourCurrentSensor.firmwareBlockSize - headerSize));
blockData = [rawFirmwareData subdataWithRange:NSMakeRange(startingPos,
rawFirmwareData.length - startingPos)]
}
}
else
{
blockData = [rawFirmwareData
subdataWithRange:NSMakeRange((currSensor.firmwareBlockIterator *
(currSensor.firmwareBlockSize - headerSize)),
(currSensor.firmwareBlockSize - headerSize))];
}
我试过将其翻译成以下内容,但我不确定我是否做得正确:
byte[] blockData;
if(valid)
{
if(sendingLast)
{
blockData = rawFirmwareData;
}
else
{
blockData = new byte[(currSensor.firmwareBlockSize - headerSize);
Array.Copy(rawFirmwaredata, (currSensor.firmwareBlockIterator *
(currSensor.firmwareBlockSize - headerSize)), blockData, 0,
(currSensor.firmwareBlockSize - headerSize));
}
}
else
{
blockData = new byte[(currSensor.firmwareBlockSize - headerSize)];
Array.Copy(rawFirmwaredata, (currSensor.firmwareBlockIterator *
(currSensor.firmwareBlockSize - headerSize)), blockData, 0,
(currSensor.firmwareBlockSize - headerSize));
}
我不确定我的起始位置和结束位置是否正确转换为 c#。
【问题讨论】:
标签: c# arrays objective-c