c# - int double struct 和 enum ValueType

标签 c#

最近在技术测试中问了这个问题:

以下哪个是值类型:

  1. int i
  2. 双d
  3. 结构 S { 诠释; 字符串 b; }
  4. 枚举测试 { A, 乙, C, d }

我认为这是一个技巧问题; int 和 double 是结构,而结构是值类型,因此所有答案都是值类型。但只允许一个答案,显然“正确”答案是 4) 枚举。

无论如何,答案 4) 可以是唯一正确答案吗?

最佳答案

也许问题的作者有不同的definition of value types

所有四个答案都是值类型:

int integer = 0;
Console.WriteLine(integer.GetType().IsValueType); //true
double dbl = 0.0;
Console.WriteLine(dbl.GetType().IsValueType); //true
S s = new S();
Console.WriteLine(s.GetType().IsValueType); //true
Test t = Test.a;
Console.WriteLine(t.GetType().IsValueType); //true

关于c# - int double struct 和 enum ValueType,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26630806/

相关文章:

c# - DotLiquid/Liquid 获取字典

c# - 将对角线延长一个值

c# - EF Core 导航属性未填充(再次!)

C# Mono aot 与 protobuf-net 获取 ExecutionEngineException

c# - 处理全局异常机器人 | iOS

c# - new object() 在 C# 中到底做了什么

c# - 正则表达式:如果模式位于字符串末尾,则不匹配

c# - UserPasswordCredential .Net 标准

c# - 使用 errorprovider 验证多个文本框

c# - 在 WPF 中找不到附加属性