【发布时间】:2018-10-07 10:20:32
【问题描述】:
我正在研究 NFC mifare 读卡器,并试图创建一个像这样的字节数组,但我得到一个错误
int FIX_SECTOR_COUNT = 16;
const int numOfSector = 16;
const int numOfBlockInSector = 4;
byte[][][] buffer = new byte[FIX_SECTOR_COUNT][numOfSector][numOfBlockInSector];
错误 CS0178 排名说明符无效:预期为 ',' 或 ']
所以我这样做了
byte[][][] buffer = new byte[][][] { };
但我需要帮助来实例化它。
我需要字节数组来做这样的事情:
try
{
taskTag.Connect();
for (int s = 0; s < numOfSector; s++)
{
if (taskTag.AuthenticateSectorWithKeyA(s, MifareClassic.KeyDefault.ToArray()))
{
for (int b = 0; b < numOfBlockInSector; b++)
{
int blockIndex = (s * numOfBlockInSector) + b;
buffer[s][b] = taskTag.ReadBlock(blockIndex);
}
}
}
success = true;
}
catch (Java.IO.IOException e)
{
e.PrintStackTrace();
}
if (success)
{
string stringBlock = "";
for (int i = 0; i < numOfSector; i++)
{
stringBlock += i + " :\n";
for (int j = 0; j < numOfBlockInSector; j++)
{
for (int k = 0; k < MifareClassic.BlockSize; k++)
{
stringBlock += string.Format("%02X", buffer[i][j][k] & 0xff) + " ";
}
stringBlock += "\n";
}
stringBlock += "\n";
}
}
【问题讨论】:
-
this link 有帮助吗?
-
我认为docs.microsoft.com/en-us/dotnet/csharp/programming-guide/arrays/… 可能会对您有所帮助。您需要将其更改为“new byte[FIX_SECTOR_COUNT][][] 并使用循环对其进行初始化。
-
先判断这是C#还是Java。
-
是c#,我把Java标签去掉
标签: c# xamarin.android