c#中指针的使用
2007-06-05 08:02
211 查看
C#使用指针
很多人将C#和Java进行比较的时候,认为C#支持指针是C#的一个特点。我的个人观点认为任何事务应该一分为二的看,有利必然有弊。关于支持指针是好还是不好,不同的人有不同的看法,这个讨论很多。我们在此仅仅是讨论如何在C#中使用指针,并不是讨论它的利弊。
1、修改工程配置
工程中默认的配置是不支持代码的非安全性的,如果我们想使用指针就要修改这个默认的设置。否则我们在编译的时候就会出现“不安全代码只会在使用/unsafe编译的情况下出现”。具体的设置如下图所示。
2、定义非安全代码
在C#中如果想使用指针就需要将代码定义为unsafe。unsafe是C#中的一个关键字,我们可以将一个类、一个方法、代码块或者字段标记为unsafe。剩下的工作就和在其它语言中使用指针相同了。下面是一个使用指针的代码演示。
//将方法声明为非安全
public unsafe void Test()
{
int i=10;
int k;
//定义指针
int *j;
//给指针赋值
j=&i;
//取的指针的值
k=*j+1;
MessageBox.Show(k.ToString());
}
很多人将C#和Java进行比较的时候,认为C#支持指针是C#的一个特点。我的个人观点认为任何事务应该一分为二的看,有利必然有弊。关于支持指针是好还是不好,不同的人有不同的看法,这个讨论很多。我们在此仅仅是讨论如何在C#中使用指针,并不是讨论它的利弊。
1、修改工程配置
工程中默认的配置是不支持代码的非安全性的,如果我们想使用指针就要修改这个默认的设置。否则我们在编译的时候就会出现“不安全代码只会在使用/unsafe编译的情况下出现”。具体的设置如下图所示。
2、定义非安全代码
在C#中如果想使用指针就需要将代码定义为unsafe。unsafe是C#中的一个关键字,我们可以将一个类、一个方法、代码块或者字段标记为unsafe。剩下的工作就和在其它语言中使用指针相同了。下面是一个使用指针的代码演示。
//将方法声明为非安全
public unsafe void Test()
{
int i=10;
int k;
//定义指针
int *j;
//给指针赋值
j=&i;
//取的指针的值
k=*j+1;
MessageBox.Show(k.ToString());
}
相关文章推荐
- c#中使用数组指针
- C#使用指针
- [转]C#中使用指针实现高效比较字符串的小技巧
- 在C#里面使用指针
- C#中使用指针实现高效比较字符串的小技巧
- C# 使用指针
- 对象数组空指针异常说明——C#中使用对象数组必须分别为其开辟空间
- Unity3D中C#使用指针(Unsafe)报错处理
- C#指针使用学习总结
- Unity3D 使用C#指针unsafe
- java中使用C++指针实现java调用C#
- C#使用指针复制字节数组
- C# 中使用不安全代码(unsafe、指针)实践
- 对象数组空指针异常说明——C#中使用对象数组必须分别为其开辟空间
- [老文章转载]C#中使用指针
- C#中指针*的使用(unsafe关键字与fixed 语句)---01
- Unity使用C#调用C++dll传递指针参数、接收指针返回值
- c# 调用c++ 使用指针传递的时候
- 在c#中使用指针
- c#指针(unsafe与fixed的使用)