[TestMethod]\r
public void String()\r
{\r
+ // ReSharper disable SuspiciousTypeConversion.Global\r
Assert.AreEqual("api_result", (string)(dynamic)JsonParser.Parse(@"""api_result"""));\r
Assert.AreEqual("/\"\\\b\f\n\r\t", (string)(dynamic)JsonParser.Parse(@"""\/\""\\\b\f\n\r\t"""));\r
Assert.AreEqual("大和改二", (string)(dynamic)JsonParser.Parse(@"""\u5927\u548c\u6539\u4e8c"""));\r
Assert.AreEqual(@"\", (string)(dynamic)JsonParser.Parse(@"""\\"""));\r
+ // ReSharper restore SuspiciousTypeConversion.Global\r
}\r
\r
[TestMethod]\r
public void CastArrayOfArrayToArrayOfIntArray()\r
{\r
var iary = (double[][])(dynamic)JsonParser.Parse("[[1,2],[3,4],[5,6]]");\r
+ // ReSharper disable once PossibleNullReferenceException\r
Assert.IsTrue(iary.GetType().GetElementType().IsArray);\r
}\r
\r
logger.SetWriter((path, s, h) => { result += s + "|"; }, () =>\r
{\r
dateEnum.MoveNext();\r
+ // ReSharper disable once PossibleNullReferenceException\r
return (DateTime)dateEnum.Current;\r
});\r
for (var i = 0; i < 6; i++)\r
\r
private void buttonOk_Click(object sender, EventArgs e)\r
{\r
- int listen, outbound, server;\r
- if (!ValidatePorts(out listen, out outbound, out server))\r
+ if (!ValidatePorts(out var listen, out var outbound, out _))\r
return;\r
DialogResult = DialogResult.OK;\r
if (!ApplyProxySettings(listen, outbound))\r
var map = (int)entry.api_id;\r
if (map % 10 <= 4)\r
continue;\r
- ClearStatus stat;\r
- if (!_clearStatus.TryGetValue(map, out stat))\r
+ if (!_clearStatus.TryGetValue(map, out var stat))\r
continue;\r
var prev = stat.Cleared;\r
stat.Cleared = (int)entry.api_cleared == 1;\r
_currentMap = (int)json.api_maparea_id * 10 + (int)json.api_mapinfo_no;\r
if (!json.api_get_eo_rate() || json.api_get_eo_rate == 0)\r
return;\r
- ClearStatus stat;\r
- if (!_clearStatus.TryGetValue(_currentMap, out stat))\r
+ if (!_clearStatus.TryGetValue(_currentMap, out var stat))\r
_clearStatus.Add(_currentMap, stat = new ClearStatus {Map = _currentMap});\r
stat.Cleared = true;\r
stat.Rate = (int)json.api_get_eo_rate;\r
: (int)json.api_get_exmap_rate;\r
if (rate == 0)\r
return;\r
- ClearStatus stat;\r
- if (!_clearStatus.TryGetValue(_currentMap, out stat))\r
+ if (!_clearStatus.TryGetValue(_currentMap, out var stat))\r
_clearStatus.Add(_currentMap, stat = new ClearStatus {Map = _currentMap});\r
stat.Cleared = true;\r
stat.Rate = rate;\r
}\r
catch (Exception e)\r
{\r
- File.AppendAllText("debug.log", $"[{DateTime.Now.ToString("g")}] " + e + "\r\n");\r
+ File.AppendAllText("debug.log", $"[{DateTime.Now:g}] " + e + "\r\n");\r
}\r
finally\r
{\r
var s = GetField("content-length");\r
if (s != null)\r
{\r
- int len;\r
- ContentLength = int.TryParse(s, out len) ? len : -1;\r
+ ContentLength = int.TryParse(s, out var len) ? len : -1;\r
}\r
TransferEncoding = GetField("transfer-encoding")?.ToLower(CultureInfo.InvariantCulture);\r
ContentType = GetField("content-type");\r
break;\r
var ext = size.IndexOf(';');\r
size = ext == -1 ? size.Substring(0, size.Length - 2) : size.Substring(0, ext);\r
- int val;\r
- if (!int.TryParse(size, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out val))\r
+ if (!int.TryParse(size, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out var val))\r
throw new HttpProxyAbort("Can't parse chunk size: " + size);\r
if (val == 0)\r
break;\r
foreach (var entry in json.api_mst_slotitem)\r
{\r
var type = (int)entry.api_type[2];\r
- string typeName;\r
_itemSpecs[(int)entry.api_id] = new ItemSpec\r
{\r
Id = (int)entry.api_id,\r
Name = (string)entry.api_name,\r
Type = type,\r
- TypeName = dict.TryGetValue(type, out typeName) ? typeName : "不明",\r
+ TypeName = dict.TryGetValue(type, out var typeName) ? typeName : "不明",\r
IconType = (int)entry.api_type[3],\r
AntiAir = (int)entry.api_tyku,\r
LoS = (int)entry.api_saku,\r
\r
public ItemStatus GetStatus(int id)\r
{\r
- ItemStatus item;\r
- return _itemInfo.TryGetValue(id, out item) ? item : new ItemStatus(id);\r
+ return _itemInfo.TryGetValue(id, out var item) ? item : new ItemStatus(id);\r
}\r
\r
public void ClearHolder()\r
private class ItemStatusComparer : IEqualityComparer<ItemStatus>\r
{\r
public bool Equals(ItemStatus x, ItemStatus y)\r
+ // ReSharper disable PossibleNullReferenceException\r
=> x.Level == y.Level && x.Spec == y.Spec && x.Holder.Id == y.Holder.Id &&\r
x.Holder.Fleet == y.Holder.Fleet;\r
+ // ReSharper restore PossibleNullReferenceException\r
\r
public int GetHashCode(ItemStatus obj) => obj.Level + obj.Spec.GetHashCode() + obj.Holder.GetHashCode();\r
}\r
result = null;\r
if (_type != JsonType.Object)\r
return false;\r
- JsonObject dict;\r
- if (!_dict.TryGetValue(binder.Name, out dict))\r
+ if (!_dict.TryGetValue(binder.Name, out var dict))\r
return false;\r
result = dict?.Value;\r
return true;\r
{\r
if (type.IsArray)\r
{\r
- object one;\r
- if (!values[i].IsArray || !ConvertArray(type.GetElementType(), values[i]._array, out one))\r
+ if (!values[i].IsArray || !ConvertArray(type.GetElementType(), values[i]._array, out var one))\r
return false;\r
array.SetValue((dynamic)one, i);\r
}\r
else\r
{\r
- object one;\r
- if (!values[i].ConvertPrivateType(type, out one))\r
+ if (!values[i].ConvertPrivateType(type, out var one))\r
return false;\r
array.SetValue((dynamic)one, i);\r
}\r
var query = HttpUtility.ParseQueryString(tmp[1]);\r
if (query["from"] != null)\r
{\r
- double tick;\r
- double.TryParse(query["from"], out tick);\r
+ double.TryParse(query["from"], out var tick);\r
from = new DateTime(1970, 1, 1).ToLocalTime().AddSeconds(tick / 1000);\r
}\r
if (query["to"] != null)\r
{\r
- double tick;\r
- double.TryParse(query["to"], out tick);\r
+ double.TryParse(query["to"], out var tick);\r
to = new DateTime(1970, 1, 1).ToLocalTime().AddSeconds(tick / 1000);\r
}\r
if (query["number"] != null)\r
var lines = new List<string>();\r
foreach (var s in new[] {"url: ", "request: ", "response: "})\r
{\r
+ // ReSharper disable once PossibleNullReferenceException\r
if (!_playLog.MoveNext() || !_playLog.Current.StartsWith(s))\r
{\r
labelPlayLog.Visible = false;\r
}\r
if (!entry.api_defeat_count())\r
continue;\r
- int req;\r
- var reqStr = _required.TryGetValue(map, out req) ? req.ToString() : "?";\r
+ var reqStr = _required.TryGetValue(map, out var req) ? req.ToString() : "?";\r
Text += $"{map / 10}-{map % 10} : 撃破 {(int)entry.api_defeat_count}/{reqStr}\r\n";\r
}\r
}\r
_missions[id].Timer.SetEndTime(0);\r
continue;\r
}\r
- string name;\r
- _missions[id].Name = _missionNames.TryGetValue((int)mission[1], out name) ? name : "不明";\r
+ _missions[id].Name = _missionNames.TryGetValue((int)mission[1], out var name) ? name : "不明";\r
_missions[id].Timer.SetEndTime(mission[2]);\r
}\r
}\r
WithdrowShip(fleet, idx);\r
return;\r
}\r
- int oi;\r
- var of = FindFleet(ship, out oi);\r
+ var of = FindFleet(ship, out var oi);\r
var orig = _decks[fleet][idx];\r
_decks[fleet][idx] = ship;\r
if (of == -1)\r
var ship = int.Parse(values["api_ship_id"]);\r
_itemInfo.NowShips--;\r
_itemInfo.DeleteItems(_shipInfo[ship].Slot);\r
- int oi;\r
- var of = FindFleet(ship, out oi);\r
+ var of = FindFleet(ship, out var oi);\r
if (of != -1)\r
WithdrowShip(of, oi);\r
_shipInfo.Remove(ship);\r
\r
public ShipStatus GetStatus(int id)\r
{\r
- ShipStatus s;\r
- if (!_shipInfo.TryGetValue(id, out s))\r
+ if (!_shipInfo.TryGetValue(id, out var s))\r
return new ShipStatus();\r
s.Slot = s.Slot.Select(item => _itemInfo.GetStatus(item.Id)).ToArray();\r
s.SlotEx = _itemInfo.GetStatus(s.SlotEx.Id);\r
s.Escaped = _escapedShips.Contains(id);\r
- int idx;\r
- s.Fleet = FindFleet(s.Id, out idx);\r
+ s.Fleet = FindFleet(s.Id, out _);\r
s.CombinedFleetType = s.Fleet < 2 ? _combinedFleetType : 0;\r
return s;\r
}\r
shipSpec.Remodel.Level = (int)entry.api_afterlv;\r
shipSpec.Remodel.After = int.Parse(entry.api_aftershipid);\r
}\r
- int[] maxEq;\r
shipSpec.MaxEq = entry.api_maxeq()\r
? entry.api_maxeq\r
- : MissingData.MaxEq.TryGetValue(shipSpec.Id + (UseOldEnemyId ? 1000 : 0), out maxEq) ? maxEq : null;\r
+ : MissingData.MaxEq.TryGetValue(shipSpec.Id + (UseOldEnemyId ? 1000 : 0), out var maxEq) ? maxEq : null;\r
}\r
_shipSpecs[-1] = new ShipSpec();\r
SetRemodelBaseAndStep();\r
}\r
}\r
\r
- public string this[string name]\r
- {\r
- get\r
- {\r
- string shortName;\r
- return _dict.TryGetValue(name, out shortName) ? shortName : name;\r
- }\r
- }\r
+ public string this[string name] => _dict.TryGetValue(name, out var shortName) ? shortName : name;\r
}\r
\r
public static string GenerateDeckBuilderData(Sniffer sniffer)\r