【问题标题】:what is this weird syntax in C# byte* [duplicate]C# byte* 中这种奇怪的语法是什么 [重复]
【发布时间】:2011-02-27 21:59:16
【问题描述】:

可能重复:
DotNet - What is int* ?

嗨,我正在查看一些库的源代码,我看到了这个byte*,最后的星号是什么? , 不仅带有类字节,还带有一些变量名称,例如

var1 = *var3 - *var2;

提前致谢

【问题讨论】:

  • 有人帮我找到现有的问题,我确定这是一个骗子......
  • @Ben Voigt:很好的发现,即使 C# 使搜索引擎演变为包含“#”符号“*”即使在 SO 搜索中仍然被忽略:D

标签: c# .net pointers


【解决方案1】:

这是一个pointer(到一个字节)。

【讨论】:

  • 嗯,从技术上讲,它本身不是指针,而是取消引用操作...
  • @Mehrdad:问题是“我看到了这个byte*,最后的星星是什么?”这当然意味着 pointer,而不是 dereference
  • @Mehrdad:我猜他是在回答问题标题,而不是“也”示例部分。
  • @VirtualBlackFox,@Ben:哦哈哈好吧。
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

    我很确定它的 Unsafe 代码。

    【讨论】:

    • 对,方法有关键字unsafe
    猜你喜欢
    • 1970-01-01
    • 2011-05-21
    • 2021-01-12
    • 2012-07-29
    • 2011-03-02
    • 1970-01-01
    • 1970-01-01
    • 2010-09-09
    相关资源
    最近更新 更多