我正在尝试从JSON文件中提取特定国家/地区名称的国家/地区缩写。这是我的JSON文件:
[
{
"country": "Iceland",
"abbr": "IS"
},
{
"country": "Kosovo",
"abbr": "KS"
},
{
"country": "Belgium",
"abbr": "BE"
},...
]
以下是国家/地区的模型:
public class Country
{
public string country { get; set; }
public string abbr { get; set; }
}
我使用以下LINQ查询来提取给定的缩写,这为变量缩写返回null:
var abbreviation = from n in countries
where n.country.Equals(selectedCountry)
select n.abbr;
我能够检索条件列表(LINQ查询的第一行,我使用调试器检查),并且我选择了等于"冰岛"的selectectedCountry。所以我怀疑问题来自LINQ查询的最后两行,我对LINQ查询并不熟悉,所以我不知道这是否合法。我也在一个数据表上运行,所以我不知道这是否意味着我应该使用特定类型的查询。
答案 0 :(得分:0)
如果我正在调试它,我会在查询之前和之后设置断点,以查看它所指的数据是什么样的。
var abbreviation = (from n in countries
where n.country
.Equals(selectedCountry, StringComparison.InvariantCultureIgnoreCase) // ignore case
select n.abbr).FirstOrDefault(); // no duplicates expected
这未经过测试但应该有效。