【问题标题】:What is the difference between char and Char? [duplicate]char和char有什么区别? [复制]
【发布时间】:2026-02-12 10:45:01
【问题描述】:

可能重复:
What is the difference between String and string

当我跑步时:

char c1 = 'a';
Console.WriteLine(c1);

当我跑步时:

Char c2 = 'a';
Console.WriteLine(c2);

我得到完全相同的结果,a

我想知道这两种形式有什么区别,为什么会有两种形式?

【问题讨论】:

  • 此类问题可以自行回答。从上面的观点出发,继续 'if(c1.GetType() == c2.GetType()){ MessageBox.Show("Same"!); }。比较两个变量的 getType() 输出。系统会告诉你答案。 ^^

标签: c# .net char


【解决方案1】:

结果完全一样。两者都代表相同的类型,因此生成的可执行文件完全相同。

char 关键字是 C# 语言中框架中 System.Char 类型的别名。

您始终可以使用char 关键字。要使用Char,您需要在文件顶部添加using System; 以包含System 命名空间(或使用System.Char 指定命名空间)。


在大多数情况下,您可以使用关键字或框架类型,但并非无处不在。例如作为枚举中的支持类型,您只能使用关键字:

enum Test : int { } // works

enum Test : Int32 {} // doesn't work

(我在示例中使用int,因为您不能使用char 作为枚举的支持类型。)


相关:Difference between byte vs Byte data types in C#

【讨论】:

  • 为什么投反对票?如果你不解释你认为错的地方是什么,就无法改进答案。
  • 这些只是 C# 中的别名 ** object: System.Object ** string: System.String ** bool: System.Boolean ** byte: System.Byte ** sbyte: System.SByte * * short:System.Int16 ** ushort:System.UInt16 ** int:System.Int32 ** uint:System.UInt32 ** long:System.Int64 ** ulong:System.UInt64 ** float:System.Single ** double:System.Double **十进制:System.Decimal ** char:System.Char **
【解决方案2】:

据我所知,C#char 类型关键字只是System.Char 的别名,所以它们指的是同一个类型。

【讨论】:

    【解决方案3】:

    关键字char是C#中System.Char类型的别名。

    【讨论】:

      最近更新 更多