【问题标题】:Objective C to C# EquivalentObjective C 到 C# 等价物
【发布时间】: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


    【解决方案1】:

    你忘记了“]”
    blockData = new byte[(currSensor.firmwareBlockSize - headerSize);
    它应该是:
    blockData = new byte[(currSensor.firmwareBlockSize - headerSize)];

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-09
      • 1970-01-01
      • 2010-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-03
      相关资源
      最近更新 更多