c# - 构造一个具有布尔 System.TypeCode 的 System.Char
问题描述
怎么可能构造一个System.Char
有 Boolean 的System.TypeCode
?
下面的代码:
char c = 'f';
System.TypeCode a = c.GetTypeCode();
Console.WriteLine(a);
产生以下输出:
Char
现在我检查了System.TypeCode
. 这里是:
#region Assembly System.Runtime, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// System.Runtime.dll
#endregion
namespace System
{
//
// Summary:
// Specifies the type of an object.
public enum TypeCode
{
//
// Summary:
// A null reference.
Empty = 0,
//
// Summary:
// A general type representing any reference or value type not explicitly represented
// by another TypeCode.
Object = 1,
//
// Summary:
// A database null (column) value.
DBNull = 2,
//
// Summary:
// A simple type representing Boolean values of true or false.
Boolean = 3,
//
// Summary:
// An integral type representing unsigned 16-bit integers with values between 0
// and 65535. The set of possible values for the System.TypeCode.Char type corresponds
// to the Unicode character set.
Char = 4,
//
// Summary:
// An integral type representing signed 8-bit integers with values between -128
// and 127.
SByte = 5,
//
// Summary:
// An integral type representing unsigned 8-bit integers with values between 0 and
// 255.
Byte = 6,
//
// Summary:
// An integral type representing signed 16-bit integers with values between -32768
// and 32767.
Int16 = 7,
//
// Summary:
// An integral type representing unsigned 16-bit integers with values between 0
// and 65535.
UInt16 = 8,
//
// Summary:
// An integral type representing signed 32-bit integers with values between -2147483648
// and 2147483647.
Int32 = 9,
//
// Summary:
// An integral type representing unsigned 32-bit integers with values between 0
// and 4294967295.
UInt32 = 10,
//
// Summary:
// An integral type representing signed 64-bit integers with values between -9223372036854775808
// and 9223372036854775807.
Int64 = 11,
//
// Summary:
// An integral type representing unsigned 64-bit integers with values between 0
// and 18446744073709551615.
UInt64 = 12,
//
// Summary:
// A floating point type representing values ranging from approximately 1.5 x 10
// -45 to 3.4 x 10 38 with a precision of 7 digits.
Single = 13,
//
// Summary:
// A floating point type representing values ranging from approximately 5.0 x 10
// -324 to 1.7 x 10 308 with a precision of 15-16 digits.
Double = 14,
//
// Summary:
// A simple type representing values ranging from 1.0 x 10 -28 to approximately
// 7.9 x 10 28 with 28-29 significant digits.
Decimal = 15,
//
// Summary:
// A type representing a date and time value.
DateTime = 16,
//
// Summary:
// A sealed class type representing Unicode character strings.
String = 18
}
}
而且我很好奇我怎样才能让c.GetTypeCode()
returnBoolean
代替Char
.
我试过这个:
char c = true;
System.TypeCode a = c.GetTypeCode();
Console.WriteLine(a);
但这会产生编译时错误:
无法将类型“bool”隐式转换为“char”[Console.NET]csharp(CS0029)
问这个问题只是出于好奇。至少到目前为止,我还没有需要这个的真实案例。
解决方案
推荐阅读
- c - 为什么这个变量等于一个数字和一个字符?
- node.js - 使用 Express 访问静态内容和 API
- mysql - 如何复制表(MySQL)并自动更新新表?
- java - 如何从本地java应用程序连接到kerberized hive
- angular - 杀死 Angular 服务人员并用另一个服务人员替换的最佳方法是什么?
- python - 将字符串中的最后两个字母大写
- docker - 带有 LocalDB 的 Visual Studio 2017 docker 容器
- jakarta-ee - 分离实体传递错误
- javascript - jquery $.when().done() 是否等待所有 $.ajax().done() 完成?
- javascript - 如何将 jQuery 的 insertBefore() 函数与 HTML 的 javascript 字符串一起使用?