c# - 是否有一个标准库函数可以解析像 C# 文字语法这样的整数?
问题描述
整数文字的类型由其后缀确定,如下所示:
如果字面量没有后缀,则它的类型是下列类型中第一个可以表示其值的类型:int、uint、long、ulong。
如果字面量以 U 或 u 为后缀,则它的类型是下列类型中第一个可以表示其值的类型:uint、ulong。
如果字面量以 L 或 l 为后缀,则它的类型是下列类型中第一个可以表示其值的类型:long、ulong。
如果文字以 UL、Ul、uL、ul、LU、Lu、lU 或 lu 为后缀,则其类型为 ulong。
.Net 标准库包含几个函数,用于将字符串解析为具有各种选项的整数。
是否有任何这样的函数将应用上述逻辑,甚至其中的一部分,根据后缀、大小或两者返回几种整数类型之一?
解决方案
一个函数只能有一个返回类型,并且由于不同的整数类型实际上是不同的 dotnet 数据类型,所以不可能存在可以返回其中任何一个的单一方法......除非你变得聪明并返回一个复合对象!就像是:
public class CleverReturn
{
public Object ParsedReturnValue { get; set; }
public string ParsedReturnValueType { get; set; }
}
'ParsedReturnValueType' 将包含类型的完整命名空间和类型名称。您可以使用它通过反射创建正确类型的变量,并将 ParsedReturnValue 转换为它。但我知道 .NET API 中没有这种方法。
推荐阅读
- r - 如何在 R 中确定日期间隔是否与数据框中同一个人的另一个日期间隔重叠?
- c# - 尝试在 websocket 消息事件中时无法实例化预制件
- java - 如何在通过 SQL 加载器将数据加载到数据库时从日文字符中修剪空格?
- r - 在 R 中堆叠 .rds 文件
- python - 在 Flask 中推送应用程序上下文
- haskell - 为什么这个功能没有触底
- odata - 使用 Automapper 的 OData 元数据
- pytorch - 如何在 BCELoss Pytorch 上检查准确性?
- avisynth - 在avisynth中使用ddcomb插件
- c++ - g++ -I 包含所有带有头文件的子目录