如題,想要實作在C#下的陣列作為引數輸入,實作類似于C語言的陣列引數偏移的效果,函式中主要實作的功能是將陣列中某個位置修改。C代碼的如下所示的效果:
#include <stdio.h>
void arrayTest(char arr[])
{
arr[0] = 0xAA;
arr[1] = 0x55;
}
int main(int argc, const char **argv)
{
unsigned char arr[10] = {0};
int index = 0;
arrayTest(&arr[index]); // 將陣列的第一個元素的地址傳進去
for (int i = 0; i < 10; i++)
printf("%02X ", arr[i]);
putchar(10);
index += 2;
arrayTest(&arr[index]); // 將陣列偏移2個單位后傳入
for (int i = 0; i < 10; i++)
printf("%02X ", arr[i]);
putchar(10);
index += 4;
arrayTest(&arr[index]); // 將陣列偏移4個單位后傳入
for (int i = 0; i < 10; i++)
printf("%02X ", arr[i]);
putchar(10);
return 0;
}
輸出這樣的效果:
AA 55 00 00 00 00 00 00 00 00
AA 55 AA 55 00 00 00 00 00 00
AA 55 AA 55 00 00 AA 55 00 00
請問一下,在C#語言環境下應該怎么撰寫函式(包括函式的引數等定義)代碼實作上面的
arrayTest(&arr[index]);這樣嗲用的效果??
uj5u.com熱心網友回復:
void arrayTest(byte[] arr,int nIndex)
{
arr[0 + nIndex] = 0xAA;
arr[1 + nIndex] = 0x55;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/284966.html
標籤:C#
下一篇:請教一個WCF回傳格式的問題
