在C#中如何获得以Unicode格式打印的char的最小值和最大值?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在C#中如何获得以Unicode格式打印的char的最小值和最大值?相关的知识,希望对你有一定的参考价值。

根据MSDN,char的最小值是U + 0000,char的最大值是U + ffff

我写了以下代码来打印相同的代码:

using System;
using System.Collections.Generic;
using System.Linq;

namespace myApp {
    class Program {
        static void Main() {
            char min = char.MinValue;
            char max = char.MaxValue;
            Console.WriteLine($"The range of char is {min} to {max}");
        }
    }
}

但我没有得到U + 0000和U + ffff格式的输出。

怎么弄?

答案

你的问题是char格式化为字符串时已经表示为字符。我的意思是值char0x30表示为0,而不是48

所以你需要将这些值转换为int并将它们显示为十六进制(使用格式说明符X):

int min = char.MinValue; // int - not char
int max = char.MaxValue;
Console.WriteLine($"The range of char is U+{min:x4} to U+{max:x4}");

查看它们的数值(十六进制)值。

结果:

The range of char is U+0000 to U+ffff

以上是关于在C#中如何获得以Unicode格式打印的char的最小值和最大值?的主要内容,如果未能解决你的问题,请参考以下文章

在 C 中以样式打印 [关闭]

在DllImport中使用Unicode字符串和用Rust编写的DLL

如何在 C++ 中使用 UTF-8 和 Unicode? C++20 char8_t 有多大?

C语言如何把以下格式的文本读出来打印到屏幕上

java中如何获得一个字符的unicode编码

c用法中的jstring到char *未转换为可打印格式