1

我正在将代码转换为 C#9,特别是下面的类实现IGrouping<TKey, TElement>

public class Grouping<TKey, TElement> : IGrouping<TKey, TElement>
{
    public TKey Key { get; }

    public Grouping(TKey key, IEnumerable<TElement> elements)
    {
        Key = key;
        _elements = elements;
    }
    private readonly IEnumerable<TElement> _elements;

    ...
}

查找支持空键,所以理论上构造函数应该是: public Grouping(TKey? key, IEnumerable<TElement> elements)

但随后Key = key;引发警告,因为Key未定义为TKey?(根据接口的规范)。

我觉得界面的定义中缺少一些东西,但也许我错过了什么?

4

0 回答 0