typeof() 检查数值

2023-12-25

检查 typeof() 在数学上是否可用(数字)的最简单方法是什么。

我需要使用尝试解析方法 https://stackoverflow.com/questions/1730838/c-sharp-check-value-stored-inside-string-object-is-decimal-or-not或通过以下方式检查:

if (!(DC.DataType == typeof(int) || DC.DataType == typeof(double) || DC.DataType == typeof(long) || DC.DataType == typeof(short) || DC.DataType == typeof(float)))
     {
           MessageBox.Show("Non decimal data cant be calculated");
           return;
     }

如果有更简单的方法来实现这一点,您可以自由建议


不幸的是,没有什么可做的。但从 C# 3 开始,你可以做一些更奇特的事情:

public static class NumericTypeExtension
{
    public static bool IsNumeric(this Type dataType)
    {
        if (dataType == null)
            throw new ArgumentNullException("dataType");

        return (dataType == typeof(int)
                || dataType == typeof(double)
                || dataType == typeof(long)
                || dataType == typeof(short)
                || dataType == typeof(float)
                || dataType == typeof(Int16)
                || dataType == typeof(Int32)
                || dataType == typeof(Int64)
                || dataType == typeof(uint)
                || dataType == typeof(UInt16)
                || dataType == typeof(UInt32)
                || dataType == typeof(UInt64)
                || dataType == typeof(sbyte)
                || dataType == typeof(Single)
               );
    }
}

所以你的原始代码可以这样写:

if (!DC.DataType.IsNumeric())
{
      MessageBox.Show("Non decimal data cant be calculated");
      return;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

typeof() 检查数值 的相关文章

  • GCC C++ (ARM) 和指向结构体字段的 const 指针

    假设有一个简单的测试代码 typedef struct int first int second int third type t define ADDRESS 0x12345678 define REGISTER type t ADDRE
  • C++ 中的软(不是:弱)引用 - 这可能吗?有实施吗?

    在 C 中我正在使用boost shared ptr and boost weak ptr自动删除不再需要的对象 我知道这些与引用计数一起工作 在 Java 中 内存由垃圾收集器管理 它将内置对象引用视为strong WeakReferen
  • Qt - 无法让 lambda 工作[重复]

    这个问题在这里已经有答案了 我有以下功能 我想在其中修剪我的std set
  • 在 C++ 中分割大文件

    我正在尝试编写一个程序 该程序接受一个大文件 任何类型 并将其分成许多较小的 块 我想我已经有了基本的想法 但由于某种原因我无法创建超过 12 kb 的块大小 我知道谷歌等上有一些解决方案 但我更感兴趣的是了解这个限制的根源是什么 然后实际
  • 通信对象 System.ServiceModel.Channels.ServiceChannel 不能用于通信

    通信对象System ServiceModel Channels ServiceChannel 无法用于通信 因为它处于故障状态 这个错误到底是什么意思 我该如何解决它 您收到此错误是因为您让服务器端发生 NET 异常 并且您没有捕获并处理
  • 调试内存不足异常

    在修复我制作的小型 ASP NET C Web 应用程序的错误时 我遇到了 OutOfMemoryException 没有关于在哪里查看的提示 因为这是一个编译时错误 如何诊断此异常 我假设这正是内存分析发挥作用的地方 有小费吗 Thank
  • ZLIB 解压缩

    我编写了一个小型应用程序 该应用程序应该解压缩以 gzip deflate 格式编码的数据 为了实现这一点 我使用 ZLIB 库 使用解压缩功能 问题是这个功能不起作用 换句话说 数据不是未压缩的 我在这里发布代码 int decompre
  • 转到 C# WPF 中的第一页

    我正在 WPF 中使用导航服务 为了导航到页面 我使用 this NavigationService Navigate new MyPage 为了返回我使用 this NavigationService GoBack 但是如何在不使用的情况
  • Xamarin Android:获取内存中的所有进程

    有没有办法读取所有进程 而不仅仅是正在运行的进程 如果我对 Android 的理解正确的话 一次只有一个进程在运行 其他所有进程都被冻结 后台进程被忽略 您可以使用以下代码片段获取当前正在运行的所有 Android 应用程序进程 Activ
  • 为什么 FTPWebRequest 或 WebRequest 通常不接受 /../ 路径?

    我正在尝试从 ftp Web 服务器自动执行一些上传 下载任务 当我通过客户端甚至通过 Firefox 连接到服务器时 为了访问我的目录 我必须指定如下路径 ftp ftpserver com AB00000 incoming files
  • 两组点之间的最佳匹配

    I ve got two lists of points let s call them L1 P1 x1 y1 Pn xn yn and L2 P 1 x 1 y 1 P n x n y n 我的任务是找到它们点之间的最佳匹配 以最小化它
  • 组合框项目为空但数据源已满

    将列表绑定到组合框后 其 dataSource Count 为 5 但组合框项目计数为 0 怎么会这样 我习惯了 Web 编程 而且这是在 Windows 窗体中进行的 所以不行combo DataBind 方法存在 这里的问题是 我试图以
  • Qt - 设置不可编辑的QComboBox的显示文本

    我想将 QComboBox 的文本设置为某些自定义文本 不在 QComboBox 的列表中 而不将此文本添加为 QComboBox 的项目 此行为可以在可编辑的 QComboBox 上实现QComboBox setEditText cons
  • Silverlight Datagrid:在对列进行排序时突出显示整个列

    我的 Silverlight 应用程序中有一个 DataGrid 我想在对该列进行排序时突出显示整个列 它在概念上与上一个问题类似 Silverlight DataGrid 突出显示整列 https stackoverflow com qu
  • 是否有一个 C++ 库可以从 PDF 文件中提取文本,例如 PDFBox for Java? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 去年 我使用 PDFBox 在 Java 中创建了一个应用程序来获取某些 PDF 文件中的原始文本 现在
  • 无法使用 Ninject 将依赖项注入到从 Angular 服务调用的 ASP.NET Web API 控制器中

    我将 Ninject 与 ASP NET MVC 4 一起使用 我正在使用存储库 并希望进行构造函数注入以将存储库传递给其中一个控制器 这是实现 StatTracker 接口的上下文对象 EntityFramework public cla
  • Fluent NHibernate 日期时间 UTC

    我想创建一个流畅的 nhibernate 映射来通过以下方式映射 DateTime 字段 保存时 保存 UTC 值 读取时 调整为本地时区值 实现此映射的最佳方法是什么 就我个人而言 我会将日期存储在 UTC 格式的对象中 然后在读 写时在
  • 同时从多个流中捕获、最佳方法以及如何减少 CPU 使用率

    我目前正在编写一个应用程序 该应用程序将捕获大量 RTSP 流 在我的例子中为 12 个 并将其显示在 QT 小部件上 当我超过大约 6 7 个流时 问题就会出现 CPU 使用率激增并且出现明显的卡顿 我认为它不是 QT 绘制函数的原因是因
  • 热重载时调用方法

    我正在使用 Visual Studio 2022 和 C 制作游戏 我想知道当您热重新加载应用程序 当它正在运行时 时是否可以触发一些代码 我基本上有 2 个名为 UnloadLevel 和 LoadLevel 的方法 我想在热重载时执行它
  • boost::program_options:带有固定和可变标记的参数?

    是否可以在 boost program options 中使用此类参数 program p1 123 p2 234 p3 345 p12 678 即 是否可以使用第一个标记指定参数名称 例如 p 后跟一个数字 是动态的吗 我想避免这种情况

随机推荐

  • SVG上的JS——获取元素的innerHTML

    我想从 SVG 文件中提取一些数据 我知道SVG是XML 所以我想用JS把数据导出来会很容易 所以 我想从 SVG 中提取一堆文本 所以 我启动了 chrome 的 JS 控制台 并尝试做一些事情 我需要得到所有tspan数组中的元素 提取
  • Aurelia js文件上传到服务器

    您好 我是 aurelia js 新手 我需要将文件上传到服务器 我使用 autrelia js materializecss 和 httpClient fetch 进行 api 调用 我不知道如何将文件发送到服务器 view
  • 如何签署使用 PhoneGap Build 构建的 Android APK?

    PhoneGap Build 似乎是一个很棒的工具 我用它构建了一个 apk 并在多个 Android 设备上进行了测试 现在我需要将其提交到 Google Play 商店 但我需要对 apk 进行签名 我已经在 Google 开发者网站上
  • 使用 pecl 在 OS X El Capitan (v10.11.1) 上安装 Mongodb 驱动程序

    我正在尝试为 OS X 安装 php mongo 驱动程序 我尝试过以下操作这些说明 http jafdip com how to install mongodb and the php mongo drive on mac os x sn
  • c# - 读取 HTML?

    我正在用 C 开发一个程序 我需要一些帮助 我正在尝试创建在某个网站上显示的数组或项目列表 我想做的是阅读锚文本 它是href 例如 这是 HTML div class menu 1 div class items div class mi
  • 演员和幕后工作者

    client Client 127 0 0 1 8786 direct to workers True future1 client submit Counter workers ninja actor True counter1 futu
  • 代码分析返回并建议不使用“out”参数

    我针对我创建的对象运行 VS 2008 代码分析工具并收到以下建议 警告 147 CA1021 Microsoft Design 考虑一种不 要求 returnValue 为 out 范围 我发现 out 参数相当有用 但没有意识到它们被认
  • 使用反射调用超类方法而不使用其实例

    请考虑以下演示继承和反射的代码 Parent class package basics public class Vehicle private void parentPrivateMethod System out println Thi
  • 以编程方式创建的窗口出现但不响应触摸事件

    我正在创建没有 MainWindow nib 的应用程序 更新到新的 SDK 后 我的应用程序完全崩溃了 在 main m 的 main 函数中 我有 int retVal UIApplicationMain argc argv nil A
  • 如何通过 *default* 命名空间 XmlObject.selectPath() ?

    我发现这种查询 XmlObject 以返回包含特定命名空间的元素的方法 XmlObject xobj XmlObject Factory parse a n a
  • Xcode Instruments - 僵尸 - 我在寻找什么?

    当我在 Xcode 中运行 Project Profile 并选择 Zombies 应用程序在模拟器中运行 NSZombie detection 已启用 但是我应该寻找什么来告诉我存在问题 我所看到的只是分配工具正在运行以及下面的统计数据
  • Guava - 如何根据谓词从列表中删除,并跟踪删除的内容?

    我有一个ArrayList过滤后 还有各种番石榴Predicates 来过滤它 该列表只有 50 100 个元素 我本来打算Iterables removeIf依次使用每个谓词 它可能不是最大效率 但没关系 至少removeIf对随机访问列
  • 使用 JavaFX 打印节点

    问题是这样的 我目前必须打印一个 a4 横向页面 其中包含当前 javaFx 场景的 部分 我必须打印的部分是 BorderPane 的一部分 我需要打印 Left Center 和 Bottom 节点 因此打印的页面应如下所示 最重要的打
  • Firebase Analytics 第一份报告需要多长时间?

    我们想尝试 firebase 提供的新分析功能 并遵循入门指南中的所有步骤 我们已经运行了该应用程序 logged很多事件 已经过去几个小时了 但仪表板上没有数据 我们只看到一条横幅 上面写着 您的分析数据很快就会出现在这里 获得我们的第一
  • 如何在PropertyGrid中显示带有子类的对象

    我将使用 PropertyGrid 来显示我的对象 这是信息类 Info 类具有一些由类类型组成的属性 但是 子类不显示属性 你有什么主意吗 代码片段 using System ComponentModel using System Win
  • 如何限制对Android库的某些API的访问

    我想构建 android 库 以便使用该库的应用程序无法访问除其中一个类之外的所有类 我怎样才能做到呢 如果您的 SDK 捆绑为 JAR 文件 而不是 AAR 您可以通过创建两个 JAR 文件 一个是常规库 第二个是剥离的 这将代表API
  • 如何在laravel中使用RouteServiceProvider添加多个路由文件

    我想创建模块明智的路由文件并使用 RouteServiceProvider mapApiRoutes 加载所有路由文件 我创建了category php 文件和admin php 文件 其中包含路由 现在我想在 api php 文件中加载这
  • Python 3.4 url​​lib.request错误(http 403)

    我正在尝试打开并解析 html 页面 在 python 2 7 8 中我没有问题 import urllib url https ipdb at ip 66 196 116 112 html urllib urlopen url read
  • 通过 SSH 在 Xcode 6 下运行 xcodebuild 测试时超时

    我似乎在将 Xcode6 与 jenkins 集成时遇到问题 我目前有此设置并使用 Xcode 5 通过 SSH 远程运行 xcode 6 模拟器超时 当我在本地运行时 它成功 Command xcodebuild workspace PR
  • typeof() 检查数值

    检查 typeof 在数学上是否可用 数字 的最简单方法是什么 我需要使用尝试解析方法 https stackoverflow com questions 1730838 c sharp check value stored inside