2014-12-05 49 views
0

我发现这个结构与反编译器工具。看起来这是与多线程连接的东西。在c#中有什么意思^(int&)什么是构建^(int&)在c#中的意思?

UPD

它用于像变量声明

^(int&) @someLock

+4

你可以请张贴周边的代码吗? – 2014-12-05 08:13:09

+1

看[[&&运营商](http://msdn.microsoft.com/en-us/library/sbf85k1c.aspx)和['^'运营商](http://msdn.microsoft.com/en-我们/库/ zkacc7k1.aspx)。 – 2014-12-05 08:15:28

+0

致其他人在这里回答或评论,[请阅读此](http://meta.stackexchange.com/questions/9731/fastest-gun-in-the-west-problem)。 – 2014-12-05 12:05:43

回答

4

这是无效的代码,不安全或不安全。


假设:写反编译的人来自一个C/C++背景,不知道如何构建合法的C#代码(如果可能的话),用于IL发现了一个结构。

如果我们按照“经营者”所涉及的面包屑,这可能意味着此:

@someLock是一个变量,它会在某个地方在内存中保存值(&意味着它实际上是一个是地址和^表示我们正在取消引用地址)。

基本上,它可能是“内存中某个特定点的值”,挤入单个变量声明中。把它看作是一个专门放在某个地址的变量。从知识(我可能绝对是错的),IL可以处理这个,但C#不能。

0

这是不安全的代码。它返回指向内存地址的指针