trygetvalue!
This commit is contained in:
parent
bb908f3636
commit
f451e0aa77
|
@ -44,7 +44,7 @@ public sealed class Day07 : Day
|
|||
{
|
||||
_actions.Add(destination, () =>
|
||||
{
|
||||
if (_wires.ContainsKey(destination)) return _wires[destination];
|
||||
if (_wires.TryGetValue(destination, out var wire)) return wire;
|
||||
|
||||
var res = _actions[split[0]]();
|
||||
_wires.Add(destination, res);
|
||||
|
@ -62,7 +62,7 @@ public sealed class Day07 : Day
|
|||
case "AND":
|
||||
_actions.Add(destination, () =>
|
||||
{
|
||||
if (_wires.ContainsKey(destination)) return _wires[destination];
|
||||
if (_wires.TryGetValue(destination, out var wire)) return wire;
|
||||
|
||||
var res = (ushort)((ushort.TryParse(split[0], out var v)
|
||||
? v
|
||||
|
@ -74,7 +74,7 @@ public sealed class Day07 : Day
|
|||
case "OR":
|
||||
_actions.Add(destination, () =>
|
||||
{
|
||||
if (_wires.ContainsKey(destination)) return _wires[destination];
|
||||
if (_wires.TryGetValue(destination, out var wire)) return wire;
|
||||
|
||||
var res = (ushort)((ushort.TryParse(split[0], out var v)
|
||||
? v
|
||||
|
@ -86,7 +86,7 @@ public sealed class Day07 : Day
|
|||
case "LSHIFT":
|
||||
_actions.Add(destination, () =>
|
||||
{
|
||||
if (_wires.ContainsKey(destination)) return _wires[destination];
|
||||
if (_wires.TryGetValue(destination, out var wire)) return wire;
|
||||
|
||||
var res = (ushort)(_actions[split[0]]() << ushort.Parse(split[2]));
|
||||
_wires.Add(destination, res);
|
||||
|
@ -96,7 +96,7 @@ public sealed class Day07 : Day
|
|||
case "RSHIFT":
|
||||
_actions.Add(destination, () =>
|
||||
{
|
||||
if (_wires.ContainsKey(destination)) return _wires[destination];
|
||||
if (_wires.TryGetValue(destination, out var wire)) return wire;
|
||||
|
||||
var res = (ushort)(_actions[split[0]]() >> ushort.Parse(split[2]));
|
||||
_wires.Add(destination, res);
|
||||
|
@ -114,10 +114,10 @@ public sealed class Day07 : Day
|
|||
{
|
||||
ProcessInstructions();
|
||||
var p1 = _actions["a"]();
|
||||
|
||||
|
||||
ProcessInstructions();
|
||||
|
||||
|
||||
_actions["b"] = () => p1;
|
||||
return _actions["a"]();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -21,8 +21,7 @@ public sealed class Day14 : Day
|
|||
if (quantity <= 0)
|
||||
throw new ArgumentOutOfRangeException(nameof(quantity));
|
||||
|
||||
if (!_available.ContainsKey(chem))
|
||||
_available[chem] = 0;
|
||||
_available.TryAdd(chem, 0);
|
||||
|
||||
if (_available[chem] < quantity && !Produce(chem, quantity - _available[chem]))
|
||||
return false;
|
||||
|
|
|
@ -66,14 +66,12 @@ public sealed class Day20 : Day
|
|||
foreach (var piece in puzzlePieces)
|
||||
foreach (var (original, flipped) in piece.SidesWithFlippedPaired.Value)
|
||||
{
|
||||
if (sides.ContainsKey(original))
|
||||
if (sides.TryGetValue(original, out var side))
|
||||
{
|
||||
var otherPiece = sides[original];
|
||||
AddConnection(piece, otherPiece);
|
||||
AddConnection(piece, side);
|
||||
}
|
||||
else if (sides.ContainsKey(flipped))
|
||||
else if (sides.TryGetValue(flipped, out var otherPiece))
|
||||
{
|
||||
var otherPiece = sides[flipped];
|
||||
AddConnection(piece, otherPiece);
|
||||
}
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue