2011-02-27 65 views
0

可能重复:
DotNet - What is int* ?什么是C#字节这个奇怪的语法*

您好,我观看了一些源代码库,而我看到这个byte*,什么是星星在最后? ,不仅与类字节,也有一些变量名称,比如提前

+0

它在不安全的区块吗? – Stecya 2011-02-27 22:00:05

+1

有人帮我找到现有的问题,我敢肯定,这是一个骗局... – 2011-02-27 22:02:13

+0

@ Ben Voigt:很好的发现,即使C#让搜索引擎发展到包含“#”符号“*”,即使在SO搜索:D – 2011-02-27 22:07:38

回答

7

var1 = *var3 - *var2; 

由于这是一个pointer(以字节)。

+1

从技术上讲,它本身并不是一个指针,而是一个取消引用操作... – Mehrdad 2011-02-27 22:07:24

+0

@Mehrdad:问题是“我看到这个'byte *',最后那颗星是什么?这绝对意味着* pointer *,而不是* dereference *。 – 2011-02-27 22:08:57

+0

@Mehrdad:我想他是在回答问题标题,而不是“也是”样本部分。 – 2011-02-27 22:09:01

0

我很确定它的代码是Unsafe

+0

对,该方法的关键字不安全 – musaab 2011-02-27 22:04:45

3

当在数据类型上使用*时,它是指向该类型的指针。 byte*是指向一个字节的指针。

在变量上使用时,它将取消引用指针。 var3的值是指针,而*var3的值是指针指向的字节(或任何类型)。