C# 检查对象是否为空

2024-01-09

我在使用 if 语句检查对象是否为空时遇到问题。

我有一个 webClient,在 try/catch 中从网站中提取 JSON 字符串。如果出错,那是因为 API 中不存在 3 位国家/地区,我只想跳过它。

这是我的代码:

    System.Net.WebClient wc = new System.Net.WebClient();

    RootObject ro;
    try
    {
        string resp = wc.DownloadString("https://restcountries.eu/rest/v2/alpha/" + Row.Code.ToString());

        JavaScriptSerializer js = new JavaScriptSerializer();

        ro = js.Deserialize<RootObject>(resp);
    }
    catch (Exception e)
    { }

    if (ro.Region != null)
    {
        Row.Region = ro.Region;
        Row.SubRegion = ro.Subregion;
    }

RootObject 是一个要反序列化的类。这很好用。

但是,我在 if 语句中收到错误“使用未分配的类‘ro’。

有人可以帮我解决这个问题吗? ro 在 if 中按预期工作?

我还尝试检查特定节点,但它仍然挂在“ro”部分。

另外,这是 SSIS 中的脚本组件。

Thanks


  1. 有可能的是try块永远不会赋值给ro因此它将在 try 块之外被取消分配。要解决此问题,请分配一个值:

    RootObject ro = null;
    
  2. Since ro可能null,你需要检查你的if在尝试访问成员之前声明:

    if (ro != null && ro.Region != null)
    {
        Row.Region = ro.Region;
        Row.SubRegion = ro.Subregion;
    }
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# 检查对象是否为空 的相关文章

随机推荐

  • SQLite数据库最大存储容量

    SQLite 数据库中最多可以存储多少条记录 有什么限制吗 如果数据超出此限制 会给出什么类型的错误 整个系统会失败 还是会发生什么 基于this http developer android com guide topics data d
  • PhpStorm LESS 观察程序配置

    我正在使用 PhpStorm 8 处理一些 LESS 文件 variables less导入自styles less 当我保存时variables less only a variables css正在制作中 如何将观察者配置为仅转译sty
  • 是否有提交空选择多个的标准客户端行为?

    http www w3 org TR html401 interact forms html edef SELECT http www w3 org TR html401 interact forms html edef SELECT 不指
  • 使用 java 中的 scala.collection.immutable.Set 的示例

    有熟悉 Scala 的人知道我如何使用scala collection immutable Set http www scala lang org docu files api scala collection immutable Set
  • 实体框架 6 代码优先 - 存储库实现是一个好的实现吗?

    我即将使用存储库和工作单元实现 Entity Framework 6 设计 周围有很多文章 我不确定最好的建议是什么 例如 我真的很喜欢这里实现的模式 出于文章中建议的原因here http codefizzle wordpress com
  • 我应该在事务中包含 SELECT 吗?

    当使用数据库事务对多个更新进行分组时 我是否也应该在事务中包含 SELECT 例如 假设我 得到一个记录 使用记录中的数据检查该记录的编辑权限 更新一些记录 更新一些其他记录 我应该在 获取记录 阶段之前开始交易 还是在更新前后开始交易 我
  • iframe 中的 Javascript window.opener

    我正在尝试使用弹出窗口脚本文件中的 window opener 引用来访问弹出窗口的开启器 考虑 popup html 中包含的以下脚本 http localhost test popup html 当不涉及 iframe 时 此方法有效
  • 获取 li 元素的文本

    ul class leftbutton li Sample 1 li li Sample 2 li li Sample 3 li li Sample 4 li li Sample 5 li ul 我想获取 id menu selected
  • 创建类似于 iBook 或 Stanza 应用程序的 ePub 阅读器的最佳方法 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在 gnuplot 中为 xticlabels 提供自定义字符串参数?

    假设我有一个包含三列的数据文件 我希望能够更改 x 轴标签 经过一番谷歌搜索后我发现xticlabels 但问题是它似乎只接受列号作为参数 用于 ex 绘图xticlabels 3 用第三列标记标签 我希望能够把类似的东西 1 2作为该函数
  • 合并重复的数组项

    我有一个哈希数组 array keyword gt A total value gt 50 keyword gt B total value gt 25 keyword gt C total value gt 40 keyword gt A
  • 进程友善度(优先级)设置对 Linux 没有影响

    我编写了一个测试程序 其中仅包含一个无限循环 其中包含一些 内部计算 并且不执行 I O 操作 我尝试启动该程序的两个实例 其中一个具有高 尼斯值 另一个具有低尼斯值 sudo nice n 19 taskset 1 test sudo n
  • 来自 github 的 Git 存储库空绿色文件夹

    我正在从 github 中提取 git 存储库 当我克隆存储库时 会出现一个空文件夹 其中应该包含一个项目 由于其他项目引用了该文件夹 当我浏览 github 上的存储库时 该文件夹显示为绿色 我有什么遗漏的吗 我在用 git clone
  • 在 Xcode 上管理代码片段的最佳方法是什么?

    我已经爱上了 Visual Studio 的代码片段工具包 Xcode 上有类似的东西吗 您还可以看看this https stackoverflow com questions 20420 any resharper equivalent
  • 如何在Windows上安装PLV8?

    我正在尝试将其安装在我的 PostgreSQL 服务器上 http code google com p plv8js wiki PLV8 http code google com p plv8js wiki PLV8这些文档看起来很棒 但问
  • 断开连接的图表上缺少悬停标记

    我遇到了一个问题 我不确定这是 highcharts 插件中的错误还是编程错误 我使用空值来绘制仅包含一个系列的断开线图 但这似乎是悬停标记的问题 其中一些标记 在第一行的顶部和第二行的底部 似乎没有出现 代码很简单 但我找不到导致此问题的
  • Python - 来自 stdin 的 HTTP post [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我每秒左右从 bash 命令 ibeacon scan 获取这种格式的数据 ibeacon scan b stdin py Out
  • 带 -a 的路径对于 bash 函数没有意义

    这是我的 bash 函数 push gt cd var www html wp gt git init gt git add gt git commit am 1 gt git push f origin master gt 我想执行它 d
  • 如何从支持某些 API 的函数返回非具体值?

    我正在两个模型之间构建 API 我不在乎它是否返回 或 Seq 或任何可折叠的都可以 但如果我尝试这样做 就会出错 module Main where import Prelude hiding foldr import Data Fold
  • C# 检查对象是否为空

    我在使用 if 语句检查对象是否为空时遇到问题 我有一个 webClient 在 try catch 中从网站中提取 JSON 字符串 如果出错 那是因为 API 中不存在 3 位国家 地区 我只想跳过它 这是我的代码 System Net