LINQ Query返回null,从JSON文件中提取对象属性值

时间:2017-09-25 17:21:43

标签: c# linq

我正在尝试从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查询并不熟悉,所以我不知道这是否合法。我也在一个数据表上运行,所以我不知道这是否意味着我应该使用特定类型的查询。

1 个答案:

答案 0 :(得分:0)

如果我正在调试它,我会在查询之前和之后设置断点,以查看它所指的数据是什么样的。

var abbreviation = (from n in countries
                    where n.country
                    .Equals(selectedCountry, StringComparison.InvariantCultureIgnoreCase) // ignore case
                    select n.abbr).FirstOrDefault(); // no duplicates expected

这未经过测试但应该有效。