当使用索引初始值设定项填充字典而不在此之前重新创建它时,是否有一个选项可以在某处指定 null-forgiving 运算符?
例子:
public class Program
{
public IDictionary<string, string>? NullableDictionary { get; set; }
= new Dictionary<string, string>();
public static void Main(string[] args)
{
new Program
{
NullableDictionary =
{
["key"] = "value"
}
};
}
}
我知道这个用例(无需重新创建new Dictionary<string, string>索引初始化之前{ [...] = ... })可能不是很常见。但我仍然想知道是否有解决方案来防止上述情况出现编译器警告:
[CS8602] 取消引用可能为空的引用。
我可以想象像这样使用 null-forgiving 运算符:
new Program
{
NullableDictionary! =
{
["key"] = "value"
}
};
牛魔王的故事