在固定块内增加指针禁止,似乎它应该工作
本文关键字:工作 禁止 指针 增加 | 更新日期: 2023-09-27 18:12:34
尝试增加指针时出现错误。
不能赋值给ptr,因为它是一个固定变量CS1656另一个指针ptruc
也会出现同样的错误unsafe void organize_data()
{
fixed(byte* ptr = &database[0])
{
fixed(byte* ptruc = &dtbaseuc[0])
{
strcnt=1;
linestrts[0]=0;
for(int i=0;i<filelen;i++)
{
if(*ptr > 96 && *ptr < 123)*ptruc=(byte)((int)*ptr-(int)32);
if(*ptr ==13)
{
linestrts[strcnt]=i+1;
strcnt++;
}
ptr++;
ptruc++;
}
}
}
textBox2.Text=strcnt.ToString();
}
在fixed
块中声明的变量是只读的,不能赋值。您必须复制指针,然后增加副本的值。
fixed (byte* ptr = &database[0]) {
byte* dbPtr = ptr;
ptr++; // CS1656, ptr is read-only.
dbPtr++; // Valid.
}