【发布时间】:2019-11-14 19:24:10
【问题描述】:
我正在使用启用了nullable 的 C# 8,现在我的正则表达式循环出现问题:
public static async Task<IEnumerable<WorkerDto>?> GetOwnersAsync(LampContext context, string? ownerString)
{
if (string.IsNullOrWhiteSpace(ownerString))
return null;
var wwids = new List<int>();
var matches = Regex.Matches(ownerString, @"\d+");
foreach (Match match in matches)
wwids.Add(int.Parse(match.Value));
这是说我对match 迭代变量有一个可能的空引用分配,我不确定它为什么会这样说,或者如何绕过它。 Matches 的文档说它将返回一个空集合,而不是 null。
我现在应该如何编写该代码?
【问题讨论】:
-
能否请您发布
ownerString和wwids的初始化 -
更新了问题以显示 ownerString 可以为空。即使我在
Regex.Matches中将ownerString替换为"",我仍然会收到错误消息。