OSDN Git Service

敵のステータスの列挙をLINQで書き直す
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Thu, 29 Oct 2015 15:32:05 +0000 (00:32 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Thu, 29 Oct 2015 15:32:05 +0000 (00:32 +0900)
KancolleSniffer/Logger.cs

index 1f335bb..6ef0647 100644 (file)
@@ -151,13 +151,12 @@ namespace KancolleSniffer
             }));\r
             var estatus = _battleInfo.EnemyResultStatus;\r
             var edeck = ((int[])_battle.api_ship_ke).Skip(1).ToArray();\r
-            var eships = new List<string>();\r
-            for (var i = 0; i < edeck.Length; i++)\r
+            var eships = edeck.Select((id, i) =>\r
             {\r
-                eships.Add(edeck[i] == -1\r
-                    ? ","\r
-                    : $"{estatus[i].Name},{estatus[i].NowHp}/{estatus[i].MaxHp}");\r
-            }\r
+                if (id == -1) return ",";\r
+                var s = estatus[i];\r
+                return $"{s.Name},{s.NowHp}/{s.MaxHp}";\r
+            });\r
             var cell = (int)_map.api_no;\r
             var boss = "";\r
             if (_start)\r