社区
C#
帖子详情
C#中如何实现这个类似于指针的功能?
任叔
2004-10-11 04:36:59
a = xxx;
b = a;(这里如何能修改成地址引用?)
希望之后a改变的时候,b也相应的改变
...全文
196
11
打赏
收藏
C#中如何实现这个类似于指针的功能?
a = xxx; b = a;(这里如何能修改成地址引用?) 希望之后a改变的时候,b也相应的改变
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cedar_bj
2004-10-12
打赏
举报
回复
那就用ref 或 out 的方法。别的好象没有了。
任叔
2004-10-11
打赏
举报
回复
不想用unsafe的方式
xiandao82
2004-10-11
打赏
举报
回复
属于不安全代码应先unsafe再你的类的修饰符上,
int a=10;
int *b=&a;
a=50;
Console.WriteLine(*b);
任叔
2004-10-11
打赏
举报
回复
有类型安全的实现方式吗?
cedar_bj
2004-10-11
打赏
举报
回复
另一个方法。可以使用不安全代码。
在类的前面加上关键字unsafe
就可以在程序中使用类似c++的->指针了。
Csharpking
2004-10-11
打赏
举报
回复
可以参考装箱技术,因为应用类型内容一般放在托管堆上,而其相应的地址放在堆上
任叔
2004-10-11
打赏
举报
回复
a 和 b在一个代码段里,没办法通过ref传参实现
事实上b只是对象a的一个属性,我需要的是a.b=a
CSharpProgrammer
2004-10-11
打赏
举报
回复
int a=50;
int b;
public int ReturnAB(ref int a1,ref int b1)
{
相应的操作
}
在用ref 的时候要注意,在给函数传递的参数不能为空。 如果希望能传递的参数为空就用out 关键字。并且在函内部必须给参数赋值。
waximi
2004-10-11
打赏
举报
回复
入兔子,用引用变量
cedar_bj
2004-10-11
打赏
举报
回复
是在方法传递变量的时候用的。
cedar_bj
2004-10-11
打赏
举报
回复
用ref a
就可以实现。
用
C#
实现
工控上位机
结合Github高星开源项目SharpSCADA讲解工控上位机开发,重视基础,突出实战,为广大工控从业者、编程爱好者提供一种新颖的解决方案,可以快速搭建强大易用可扩展的工控上位机,并在此开源项目基础上开发工业大数据和MES系统,定制个性化的工业自动化行业解决方案。在学习过程
中
,可加深对
C#
语言和.NET平台的理解,进一步了解工业以太网协议,熟练对WPF技术的应用,透析组态软件的架构。
在
c#
中
实现
类似
c/c++函数
指针
的
功能
在c/c++
中
我们可以用函数
指针
。那在
c#
是不是也可以
实现
类似
的
功能
呢?答案是肯定的。我们可以在
c#
中
用委托(delegate)来解决这个问题。先看一段c/c++的函数
指针
代码:#include int max(int x,int y){ return (x>y?x:y);}int min(int x,int y ){ return(x}void call(int (*fp)(int,int)
[
C#
]
C#
中
的
指针
C#
在有限的范围内支持
指针
。
C#
的
指针
只不过是一个持有另一类型内存地址的变量。但是在
C#
中
,
指针
只能被声明为持有值类型和数组的内存地址。与引用类型不同,
指针
类型不被默认的垃圾收集机制所跟踪。出于同样的原因,
指针
不允许指向引用类型,甚至不允许指向包含引用类型的结构类型。我们可以说,
指针
只能指向非托管类型,包括所有基本数据类型、枚举类型、其他
指针
类型和只包含非托管类型的结构。 声明
指针
类型 声明
指针
类型的一般形式如下所示, type *variable_name; 其
中
* 称为取消引用运算符。例如下面的语
C#
中
的IntPtr类型(
指针
等用)
c#
中
无法将类型“int”隐式转换为“System.IntPtr” 这个是我引用了一个api函数时出现的问题,我在声明
中
把intptr换成了int还是不可以,这是为什么呢?要如何处理呢? 答: 您好,
C#
中
的IntPtr类型称为“平台特定的整数类型”,它们用于本机资源,如窗口句柄。 资源的大小取决于使用的硬件和操作系统,但其大小总是足以包含系统的
指针
c语言ref用法,
C#
ref是像C/C++
中
的
指针
还是C
中
的引用?
在
C#
中
,当你看到一个引用类型的东西(即用类而不是struct声明的类型)时,你基本上总是通过一个
指针
来处理对象。在C
中
,默认情况下,一切都是一个值类型,而在
C#
中
,默认情况下,一切都是一个引用类型。当你在
C#
参数列表
中
说“ref”时,你真正说的更像是一个“
指针
指针
”。你说的是,在方法
中
,你要替换的不是对象的内容,而是对对象本身的引用,在代码
中
调用你的方法。除非这是你的意图,那么你应该直接传递引用...
C#
110,547
社区成员
642,561
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章