我目前正在使用C#6开发应用程序。我想做一个非常酷的技巧,但遗憾的是它并没有像我想象的那样工作,只会导致Null Exception,如果属性是空的:
public string CoolId {get;set;} // e.g. 1,5,3,7
public List<int> CoolIdList => WebUtility.HtmlDecode(CoolId).Split(',').Select(Int32.Parse).ToList();
如果属性CoolId具有诸如&#34; 1,5,3,7&#34;如果它为空则有一个空例外。
如果我愿意的话
public List<int?> CoolIdList => WebUtility.HtmlDecode(CoolId).Split(',').Select(Int32.Parse).ToList();
......我马上得到了一个例外。
你知道如何解决这个问题吗?
谢谢:)
答案 0 :(得分:4)
你需要
WebUtility.HtmlDecode(CoolId ?? string.Empty)
.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries)
答案 1 :(得分:1)
否则你可以实现split的扩展方法,它也处理空字符串