【问题标题】:Why cannot we do (void)10?为什么我们不能做 (void)10?
【发布时间】:2014-12-22 06:42:53
【问题描述】:

我知道问这个问题很愚蠢,但是在阅读了 Matteo Italia 先生If void() does not return a value, why do we use it? 的第一个答案后,我在 C# 4.0 中进行了这个小实验

class Program
    {
        static void Main(string[] args)
        {
            var x = (int)5; // worked as expected 
            var x1 = (void)10; // Error 'void' cannot be used in this context

        }        
    }

为什么?

【问题讨论】:

  • 请注意,我的回答提到了 C 和 C++,C# 是一种不同的语言,有自己的规则。
  • void 通常主要与“方法”一起使用,告诉调用者不要期望调用方法有任何返回值。
  • 您链接到的问题是指 C 或 C++ 构造,与 C# 无关。试图讨论为什么它在 C# 中不起作用是没有意义的。
  • 在阅读了各种人的答案之后,我现在处于两难境地...... void 不是 C# 中的数据类型吗?那么它是什么?
  • 我认为答案很好地解释了 [为什么 'void' 在 C# 中不允许作为泛型类型] [1] 由 Eric Lippert。 [1]:programmers.stackexchange.com/questions/131036/…

标签: c#-4.0


【解决方案1】:

Void 不是数据类型,因此我们不能将任何东西转换为 void 类型。我相信你可能来自一个 C 世界,我们可能有一个非常不同的 void*。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-03-24
  • 1970-01-01
  • 2018-10-24
  • 2020-08-05
  • 1970-01-01
  • 2023-03-13
  • 2011-03-10
相关资源
最近更新 更多