C# 中的 GetType() 和 Typeof()

2023-12-10

itemVal = "0";

res = int.TryParse(itemVal, out num);

if ((res == true) && (num.GetType() == typeof(byte)))  
    return true;
else
   return false;  // goes here when I debugging.

Why num.GetType() == typeof(byte)不返回true ?


Because num is an int, not a byte.

GetType()得到System.Type运行时对象的。在这种情况下,它与typeof(int), since num is an int.

typeof()得到System.Type编译时类型的对象。

您的评论表明您正在尝试确定该数字是否适合一个字节;变量的内容不会影响其类型(实际上,是变量的类型限制了其内容)。

您可以通过以下方式检查该数字是否适合一个字节:

if ((num >= 0) && (num < 256)) {
    // ...
}

或者这样,使用强制转换:

if (unchecked((byte)num) == num) {
    // ...
}

但是,您的整个代码示例似乎可以替换为以下内容:

byte num;
return byte.TryParse(itemVal, num);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# 中的 GetType() 和 Typeof() 的相关文章

  • Accept() 是线程安全的吗?

    我目前正在用 C 语言为我正在做的课程编写一个简单的网络服务器 我们的一项要求是实现一个线程池来使用 pthread 处理连接 我知道我将如何粗略地执行此操作 在主线程中调用accept并将文件描述符传递给freee线程 但是我的朋友建议了
  • 如何从RichTextBox中获取显示的文本?

    如何获得显示的RichTextBox 中的文本 我的意思是 如果 RichTextBox 滚动到末尾 我只想接收那些对我来说可见的行 P S 获得第一个显示的字符串就足够了 您想使用 RichTextBox GetCharIndexFrom
  • 键盘加速器在 UWP 应用中停止工作

    我正在尝试将键盘加速器添加到 UWP 应用程序中的 CommandBar 菜单项 当应用程序启动时 这工作正常 但在我第一次打开溢出菜单后 加速器停止工作 这似乎不会发生在主要命令 菜单之外 上 只有溢出菜单内的辅助命令才会发生 此外 单击
  • 在Application_AquireRequestState事件中用POST数据重写Url

    我有一个在其中注册路线的代码Application AcquireRequestState应用程序的事件 注册路由后 我会在 Http 运行时缓存中设置一个标志 这样我就不会再次执行路由注册代码 在此事件中注册路线有特定原因Applicat
  • C# 中四舍五入到偶数

    我没有看到 Math Round 的预期结果 return Math Round 99 96535789 2 MidpointRounding ToEven returning 99 97 据我了解 MidpointRounding ToE
  • 用户控件内所有控件均为空

    我有一个 UserControl 它使用 UserControl 以及其他控件 In the ascx文件我有以下代码
  • 矩阵向量变换

    我正在编写一个代码来制作软件蒙皮器 骨骼 皮肤动画 并且我正处于 优化 阶段 蒙皮器工作得很好 并且在 Core 上 1 09 毫秒内对 4900 个三角形网格与 22 个骨骼进行蒙皮Duo 2 Ghz 笔记本 我需要知道的是 1 有人可以
  • 如何在jquery中创建一个全局函数,并从另一个加载的页面调用它

    如何在 jquery 中声明全局函数 如何从使用 jquery 的 load 函数加载到该页面上的某个 div 中的页面调用它 该功能很简单第 1 个子页面 main links 1st sub page myfun function is
  • 指向字节数组的指针

    由于 Misra C 的要求 我的一位同事想要使用指针声明 但我遇到了一些问题 Misra 安全关键指南 不会让我们纯粹的程序员使用指针 但会让我们对数组字节进行操作 他打算获取一个指向字节数组的指针 因此我们不会在堆栈上传递实际的数组 T
  • 编译器错误“错误:在文件范围内可变地修改了‘字符串’”

    考虑 include
  • 正确使用“extern”关键字

    有一些来源 书籍 在线材料 解释了extern如下 extern int i declaration has extern int i 1 definition specified by the absence of extern 并且有支
  • 不兼容的类型 - 是因为数组已经是指针吗?

    在下面的代码中 我创建一个基于书籍结构的对象 并让它保存多个 书籍 我设置的是一个数组 即定义 启动的对象 然而 每当我去测试我对指针的了解 实践有帮助 并尝试创建一个指向创建的对象的指针时 它都会给我错误 C Users Justin D
  • “int i=1,2,3”和“int i=(1,2,3)”之间的区别 - 使用逗号运算符的变量声明[重复]

    这个问题在这里已经有答案了 int i 1 2 3 int i 1 2 3 int i i 1 2 3 这些说法有什么区别 我无法找出任何具体原因 Statement 1 Result Compile error 运算符的优先级高于 运算符
  • 纯虚函数可能没有内联定义。为什么?

    纯虚函数是那些虚函数并且具有纯说明符 0 第 10 4 条第 2 款C 03 的内容告诉我们什么是抽象类 顺便说一句 如下 注意 函数声明不能 同时提供纯说明符和定义 尾注 示例 struct C virtual void f 0 ill
  • 如何设置 CMake 与 clang 交叉编译 Windows 上的 ARM 嵌入式系统?

    我正在尝试生成 Ninja makefile 以使用 Clang 为 ARM Cortex A5 CPU 交叉编译 C 项目 我为 CMake 创建了一个工具链文件 但似乎存在错误或缺少一些我无法找到的东西 当使用下面的工具链文件调用 CM
  • g++ C++0x 枚举类编译器警告

    我一直在将可怕的 C 类型安全伪枚举重构为新的 C 0x 类型安全枚举 因为它们是way更具可读性 不管怎样 我在导出的类中使用它们 所以我明确地将它们标记为导出 enum class attribute visibility defaul
  • C# 粘贴到文本框时检查剪贴板中的字符

    有没有一些方法可以在粘贴到文本框 C 之前仅检查剪贴板中的字符 Ctrl V 和右键单击 gt 粘贴 但不使用 MaskedTextbox 在文本框文本更改中添加规则以仅接受数字 例如 private string value privat
  • 启动画面后主窗口出现在其他窗口后面

    我有一个带有启动屏幕的 Windows 窗体应用程序 当我运行该应用程序时 启动屏幕显示正常 消失并加载应用程序的主窗体 但是 当我加载主窗体时 它出现在包含该应用程序的 Windows 资源管理器目录下 这是运行启动画面然后运行主窗体的代
  • c# 模拟 IFormFile CopyToAsync() 方法

    我正在对一个异步函数进行单元测试 该函数将 IFormFile 列表转换为我自己的任意数据库文件类列表 将文件数据转换为字节数组的方法是 internal async Task
  • 无法使 Polly 超时策略覆盖 HttpClient 默认超时

    我正在使用 Polly 重试策略 并且正如预期的那样 在重试过程中HttpClient达到 100 秒超时 我尝试了几种不同的方法来合并 Polly 超时策略 将超时移至每次重试而不是总计 但 100 秒超时仍然会触发 我读过大约 5 个

随机推荐

  • 获取客户端的IP地址和计算机名称?

    我有一个 ASP Net 4 0 应用程序 发布在公司 Intranet 网络的 IIS 7 0 服务器上 我想将客户端的 IP 地址保存在我的数据库中 所以我想获取客户端的IP地址和计算机名称 我尝试了互联网搜索的方法 但我得到 服务器
  • 如何从ng-grid获取单元格值

    我是 AngularJS 的初学者 我研究了ng grid的demo 有一个问题 索引 html
  • Rails 3:a​​lias_method_chain 仍然使用吗?

    我刚刚读到有关 Rails 3 的 Gems Plugin 开发的内容 然后遇到了这个帖子这表示不再使用 alias method chain 我可以看到该方法仍然存在于 activesupport 3 0 0 lib active sup
  • 使用smack重新连接到xmpp服务器

    我正在尝试开发一个聊天应用程序 当互联网稳定时一切正常 就像我可以发送和接收消息一样 但是当互联网关闭一段时间时 xmpp 会关闭连接 当互联网恢复时 我尝试重新连接到服务器 成功重新连接后 我收到以下流错误Client already l
  • 如何将一个ImageView拖放到另一个ImageView上?

    我对 Android 还很陌生 但已经成功地管理了一些零碎的东西 我现在想要实现的是一个简单的拖放活动 它允许用户 将形状 ImageView 拖放到另一个形状 ImageView 上 如果图像 匹配 它应该替换它所放置的图像 如果没有 它
  • 如何在 filepond vue 上添加所需的验证?

    我读过这个文档 https github com pqina vue filepond 我尝试这样添加
  • Chrome 扩展 - 从后台网站的单独页面获取 html

    我做了一个扩展 可以跟踪一个人在漫画网站上阅读的漫画 并在他们的收藏夹页面中列出他们最后阅读的章节 我最近想出了一个有用的功能来使扩展变得更好一些 我想为用户提供一个选项 使其能够仅跟踪他们在网站上收藏的漫画 因此 当他们阅读时 扩展程序将
  • 最有效、最现实的免费网络应用程序负载测试器?

    我正在挑选工具来对我的 Ruby on Rails 应用程序进行负载测试 到目前为止我正在尝试 阿帕奇基准 自动工作台 httperf selenium trample 还有什么值得看的吗 我没有大量的硬件 因此效率是一个问题 著名的 至少
  • BeautifulSoup 在 Amazon EC2 机器上的行为有所不同

    我正在运行以下脚本 from bs4 import BeautifulSoup import urllib2 import sys print sys version url https www google com finance pag
  • 从 std::cin 读取密码

    我需要从标准输入读取密码并且想要std cin不要回显用户输入的字符 如何禁用 std cin 的回显 这是我当前正在使用的代码 string passwd cout lt lt Enter the password getline cin
  • 使用Polymer 2.0中的iron-scroll-threshold处理滚动,以实现scroll-target = document

    我正在尝试处理滚动阈值事件 使用以下代码行
  • QuickBooks 无法在 Google App Engine 上运行

    我试图通过运行这个简单的代码来从谷歌应用程序引擎在线连接到quickbooks OAuthCredentials oauthcredentials new OAuthCredentials consumerKey consumerSecre
  • 运行 shell 命令并捕获输出

    我想编写一个函数来执行 shell 命令并返回其输出作为字符串 无论是错误消息还是成功消息 我只想得到与使用命令行得到的相同结果 可以做这样的事情的代码示例是什么 例如 def run command cmd print run comma
  • java.library.path 中没有 mssql-jdbc_auth-8.2.1.x64

    我正在尝试连接到 Maven 项目中的 SQL DB 但不断出现以下异常 com microsoft sqlserver jdbc SQLServerException 此驱动程序未配置为集成身份验证 引起 java lang Unsati
  • 在 React 中使用动态键来 setState [重复]

    这个问题在这里已经有答案了 我从输入字段将值作为参数发送给设置状态的函数 我有多个输入字段 因此想使用它们的名称 等于它们的状态键 然后使用相同的函数并将键和值传递给设置状态的函数 这是我的代码
  • 如何向森林图添加箭头?

    我会在森林图中添加两个箭头 以便将论文发送到期刊 这是来自的演示图metafor forest require metafor data dat bcg res lt rma measure RR ai tpos bi tneg ci cp
  • 在同一字段上使用通配符的空白和数字的多个过滤条件不起作用

    尽管关于这个主题的问题很多 但我一直无法找到问题的解决方案 这可能是也可能不是我的错 我需要自动过滤一个范围以返回空格和以 614 开头的数字 该列已使用以下内容进行预格式化 Range B C NumberFormat 0 这是为了删除
  • 如何npm安装全局而不是root?

    我在一个 unix 机器上 没有 root 访问权限 我将 npmrc 文件 在用户的根目录中 更改为 prefix global npm 现在 当我执行 npm install g package name 时 它会安装在我的全局 npm
  • 根据列取两个列表的并集

    我正在使用 Linq to Sql 获取两个列表的并集 使用列表 1 和列表 2 var tr List1 Union List2 ToList 联合工作正常 但问题是它正在检查每一列并删除我想要的一些行 所以我想知道是否有一种方法可以仅基
  • C# 中的 GetType() 和 Typeof()

    itemVal 0 res int TryParse itemVal out num if res true num GetType typeof byte return true else return false goes here w