我研究 Visual Basic .NET 中的 C 风格指针有一段时间了。我遇到过http://support.microsoft.com/kb/199824?wa=wsignin1.0但我不知道这是否正确或如何应用。我已经使用 c 中的程序编写了一个简单的指针,我希望它将逐行转换为 Visual Basic,并在必要时添加注释。
这是C:
int main()
{
int *myNumber=3; //the * means it's a pointer
doubleIt(*myNumber); //we use the void, the * means it returns a value not address
printf("%d",myNumber); //we print the variable
return 0; //we terminate the function
}
void doubleIt(int input)
{
input*=2; //double the input
}
您的 C 代码存在一些问题,其中之一是:
int *myNumber=3; //the * means it's a pointer
如果不先为其分配内存,则无法为这样的指针赋值。
所以你会执行以下操作:
int* myNumber = malloc(sizeof(int));
*myNumber = 3;
free(myNumber);
VB.NET 没有指针的概念。一切(即每Object
) 是一个引用,这与不使用 Interop 时获得的指针非常接近。如果您需要进行互操作,那么IntPtr
type 可用于表示指针类型。
你的 VB.NET 程序可能看起来像这样:(如果语法不完全正确,请原谅我,已经有一段时间了)
Sub Main
Dim myNumber As Integer = 3
doubleIt(myNumber)
Console.WriteLine(myNumber)
End Sub
Sub doubleIt(ByRef val As Integer)
val *= 2
End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)