From f451e0aa7729175a96d9cbae7b2f5edc98e4ed02 Mon Sep 17 00:00:00 2001 From: Ben Harris Date: Mon, 18 Sep 2023 14:47:41 -0400 Subject: [PATCH] trygetvalue! --- AOC2015/Day07.cs | 16 ++++++++-------- AOC2019/Day14.cs | 3 +-- AOC2020/Day20.cs | 8 +++----- 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/AOC2015/Day07.cs b/AOC2015/Day07.cs index 7de459e..548db20 100644 --- a/AOC2015/Day07.cs +++ b/AOC2015/Day07.cs @@ -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"](); } -} +} \ No newline at end of file diff --git a/AOC2019/Day14.cs b/AOC2019/Day14.cs index 8f2dc48..1abc5a5 100644 --- a/AOC2019/Day14.cs +++ b/AOC2019/Day14.cs @@ -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; diff --git a/AOC2020/Day20.cs b/AOC2020/Day20.cs index 2ea680d..f21bb8c 100644 --- a/AOC2020/Day20.cs +++ b/AOC2020/Day20.cs @@ -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