在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
格式化为字符串时已经表示为字符。我的意思是值char
的0x30
表示为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的最小值和最大值?的主要内容,如果未能解决你的问题,请参考以下文章
在DllImport中使用Unicode字符串和用Rust编写的DLL