目前在 C# 中是否有更优雅的方法来做到这一点?

问题描述 投票:0回答:1

我经常遇到这种情况,想知道是否有更好的方法?

我有类似的东西

Dictionary<Point, List<SomeClass>>

我想(最初)添加一个项目,但必须检查该值是否已实例化。

我用这样的东西:

public void AddUserToMap(Point point, IUser user)
{
    if (UserMap.TryGetValue(point, out var value))
    {
        value.Add(user);
    }
    else
    {
       UserMap[point] = [user];
    }
}

有更好的方法吗?

c#
1个回答
0
投票

您可以稍微减少样板,但这并没有多大帮助:

public void AddUserToMap(Point point, IUser user)
{
    if (!UserMap.TryGetValue(point, out var users))
    {
        users = new List<IUser>();
        UserMap[point] = value;
    }

    users.Add(user);
}
© www.soinside.com 2019 - 2024. All rights reserved.