当前位置: 首页 > 知识库问答 >
问题:

无法从外部系统转换。Guid?到系统。指南

钱星辰
2023-03-14

我正在尝试将字符串解析为可为空的guid。根据TryParse结果,可为null的guid应存储值或为null。

private Guid? GetData()
{
    string carName = "Volvo";
    Guid? data = Guid.TryParse(carName, out data) ? (Guid?)data : null;
    
    return data;
}

我在带有消息的输出数据上遇到编译时错误


共有3个答案

郑俊材
2023-03-14

最好不要在一行中做这么多。这将使它更容易阅读和理解。

private Guid? GetData()
    {
        string carName = "Volvo";
        // First try to parse the string into a guid
        var canParse = Guid.TryParse(carName, out var data);

        // Return either the converted value or null
        return canParse ? data : null;
    }
田骁
2023-03-14

让我们把它变得简单、合乎逻辑、可读

if (Guid.TryParse(carName, out Guid g)
    return g;
return null;

如果有三条线打扰你

return Guid.TryParse(carName, out Guid g) ? g : (Guid?)null;
危寒
2023-03-14
匿名用户

您需要使用不同的变量名:

Guid? data = Guid.TryParse(carName, out Guid _data) ? (Guid?)_data : null;

目前,您使用data

  • 最终结果(aGuid?)和
  • TryParse的out参数(需要是Guid,而不是Guid?)。

 类似资料:
  • Git 有一些可以与其他的版本控制系统集成的命令。 git svn git svn 可以使 Git 作为一个客户端来与 Subversion 版本控制系统通信。 这意味着你可以使用 Git 来检出内容,或者提交到 Subversion 服务器。 Git 与 Subversion 一章深入讲解了此命令。 git fast-import 对于其他版本控制系统或者从其他任何的格式导入,你可以使用 git

  • 我在应用程序中使用C#对象持久性模型,并从外部源填充表。我插入带有以下日期的行(在String列中):。这是使用以下Go代码从时间戳生成的: 但是,DynamoDB对象持久性模型在尝试将其转换为时会窒息,并出现以下错误: 如果我让我的服务编写一个系统。DateTime(使用包含DateTime属性的POCO),它看起来像这样:

  • 我试图反序列化从Web API接收的JSON字符串 然而,它给出了一个错误:无法强制转换或转换系统。字符串到App1。ApiResult

  • 5.2、指令系统 指令系统是CPU指令的集合,CPU除了具有计算功能的指令外,还有实现其它功能的指令,也有为某种特殊的应用而增设的指令。 通常,把指令按其功能分成以下几大类: 数据传送指令 标志位操作指令 算术运算指令 逻辑运算指令 移位操作指令 位操作指令 比较运算指令 下面,我们逐一介绍每类指令中的指令。 循环指令 转移指令 条件设置字节指令 字符串操作指令 ASCII-BCD码运算调整指令

  • sed sed是非交互式的编辑器。它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。 sed命令行格式为: sed [-nefri] ‘command’ 输入文本 常用选项: -n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的

  • 我们将用一个已安装好的 Linux 发行版(例如 Debian、Mandrake、Red Hat、SuSE)来构建 LFS 系统。这个已存在的 Linux 系统(宿主系统)将作为建立新系统的起点,提供包括编译器、连接器和 Shell 等创建新系统的必要工具。