gpt4 book ai didi

c# - 匿名类型中的特殊字符

转载 作者:行者123 更新时间:2023-11-30 17:12:47 26 4
gpt4 key购买 nike

我想创建一个在变量名中带有特殊字符的匿名类型

比如我有这个:

new { status = "Active" }

我想要这样的东西

new { status = "Active", $exists = true }

这最终会序列化为 JSON,所以我知道我可以使用 JObject 或类似的东西,但作为匿名类型会容易得多。

最佳答案

你必须遵守规则!您的代码无法编译,因为您在代码中将其编写为匿名类型(而不是字符串),因此键必须是语言中的标识符。

语言是有规则的。标识符必须以有效的 identifier-start-character 开头,定义为:

A Unicode character of classes Lu, Ll, Lt, Lm, Lo, or Nl

根据这条规则:

http://www.jaggersoft.com/csharp_grammar.html#identifier-start-character

使用此表,第三列告诉我们“$”在“Sc”类中,因此您不能使用它。

http://www.unicode.org/Public/UNIDATA/UnicodeData.txt

如果我是你,我会做以下三件事之一:

  1. 修复您的 API 规范,使其不依赖于在您使用的语言中不是有效标识符的 key (痛苦)
  2. 编写一个简单的转换层,在发送之前重写您的 JSON(困惑)

关于c# - 匿名类型中的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10387087/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com