我经常遇到这种情况,想知道是否有更好的方法?
我有类似的东西
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];
}
}
有更好的方法吗?
您可以稍微减少样板,但这并没有多大帮助:
public void AddUserToMap(Point point, IUser user)
{
if (!UserMap.TryGetValue(point, out var users))
{
users = new List<IUser>();
UserMap[point] = value;
}
users.Add(user);
}