diff --git a/ArchiSteamFarm.sln.DotSettings b/ArchiSteamFarm.sln.DotSettings
index a105ed21b..7e33a2aa5 100644
--- a/ArchiSteamFarm.sln.DotSettings
+++ b/ArchiSteamFarm.sln.DotSettings
@@ -30,6 +30,8 @@
SUGGESTION
SUGGESTION
SUGGESTION
+ SUGGESTION
+ SUGGESTION
SUGGESTION
SUGGESTION
WARNING
@@ -64,11 +66,14 @@
SUGGESTION
HINT
SUGGESTION
+ SUGGESTION
SUGGESTION
SUGGESTION
SUGGESTION
+ SUGGESTION
SUGGESTION
SUGGESTION
+ SUGGESTION
SUGGESTION
SUGGESTION
SUGGESTION
@@ -82,6 +87,8 @@
WARNING
WARNING
WARNING
+ SUGGESTION
+ SUGGESTION
SUGGESTION
HINT
SUGGESTION
@@ -120,6 +127,7 @@
SUGGESTION
WARNING
WARNING
+ WARNING
SUGGESTION
SUGGESTION
SUGGESTION
diff --git a/ArchiSteamFarm/ArchiWebHandler.cs b/ArchiSteamFarm/ArchiWebHandler.cs
index d60cd542d..4c6f1b512 100644
--- a/ArchiSteamFarm/ArchiWebHandler.cs
+++ b/ArchiSteamFarm/ArchiWebHandler.cs
@@ -1598,9 +1598,7 @@ namespace ArchiSteamFarm {
HashSet result = new HashSet(apps.Count);
- foreach (KeyValue app in apps) {
- uint appID = app["appid"].AsUnsignedInteger();
-
+ foreach (uint appID in apps.Select(app => app["appid"].AsUnsignedInteger())) {
if (appID == 0) {
Bot.ArchiLogger.LogNullError(nameof(appID));
diff --git a/ArchiSteamFarm/Bot.cs b/ArchiSteamFarm/Bot.cs
index d7aa41480..dfbfa1fa5 100755
--- a/ArchiSteamFarm/Bot.cs
+++ b/ArchiSteamFarm/Bot.cs
@@ -2983,11 +2983,7 @@ namespace ArchiSteamFarm {
byte i = 0;
byte[] password = new byte[steamParentalCode.Length];
- foreach (char character in steamParentalCode) {
- if ((character < '0') || (character > '9')) {
- break;
- }
-
+ foreach (char character in steamParentalCode.TakeWhile(character => (character >= '0') && (character <= '9'))) {
password[i++] = (byte) character;
}
diff --git a/ArchiSteamFarm/BotConfig.cs b/ArchiSteamFarm/BotConfig.cs
index 0aebdf213..15137adb8 100644
--- a/ArchiSteamFarm/BotConfig.cs
+++ b/ArchiSteamFarm/BotConfig.cs
@@ -248,26 +248,20 @@ namespace ArchiSteamFarm {
return (false, string.Format(Strings.ErrorConfigPropertyInvalid, nameof(BotBehaviour), BotBehaviour));
}
- foreach (EFarmingOrder farmingOrder in FarmingOrders) {
- if (!Enum.IsDefined(typeof(EFarmingOrder), farmingOrder)) {
- return (false, string.Format(Strings.ErrorConfigPropertyInvalid, nameof(FarmingOrders), farmingOrder));
- }
+ foreach (EFarmingOrder farmingOrder in FarmingOrders.Where(farmingOrder => !Enum.IsDefined(typeof(EFarmingOrder), farmingOrder))) {
+ return (false, string.Format(Strings.ErrorConfigPropertyInvalid, nameof(FarmingOrders), farmingOrder));
}
if (GamesPlayedWhileIdle.Count > ArchiHandler.MaxGamesPlayedConcurrently) {
return (false, string.Format(Strings.ErrorConfigPropertyInvalid, nameof(GamesPlayedWhileIdle), GamesPlayedWhileIdle.Count + " > " + ArchiHandler.MaxGamesPlayedConcurrently));
}
- foreach (Steam.Asset.EType lootableType in LootableTypes) {
- if (!Enum.IsDefined(typeof(Steam.Asset.EType), lootableType)) {
- return (false, string.Format(Strings.ErrorConfigPropertyInvalid, nameof(LootableTypes), lootableType));
- }
+ foreach (Steam.Asset.EType lootableType in LootableTypes.Where(lootableType => !Enum.IsDefined(typeof(Steam.Asset.EType), lootableType))) {
+ return (false, string.Format(Strings.ErrorConfigPropertyInvalid, nameof(LootableTypes), lootableType));
}
- foreach (Steam.Asset.EType matchableType in MatchableTypes) {
- if (!Enum.IsDefined(typeof(Steam.Asset.EType), matchableType)) {
- return (false, string.Format(Strings.ErrorConfigPropertyInvalid, nameof(MatchableTypes), matchableType));
- }
+ foreach (Steam.Asset.EType matchableType in MatchableTypes.Where(matchableType => !Enum.IsDefined(typeof(Steam.Asset.EType), matchableType))) {
+ return (false, string.Format(Strings.ErrorConfigPropertyInvalid, nameof(MatchableTypes), matchableType));
}
if ((OnlineStatus < EPersonaState.Offline) || (OnlineStatus >= EPersonaState.Max)) {
diff --git a/ArchiSteamFarm/BotDatabase.cs b/ArchiSteamFarm/BotDatabase.cs
index c5b048ae7..0f0b45e2a 100644
--- a/ArchiSteamFarm/BotDatabase.cs
+++ b/ArchiSteamFarm/BotDatabase.cs
@@ -24,6 +24,7 @@ using System.Collections;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.IO;
+using System.Linq;
using System.Threading.Tasks;
using ArchiSteamFarm.Collections;
using ArchiSteamFarm.Helpers;
@@ -122,11 +123,7 @@ namespace ArchiSteamFarm {
bool save = false;
lock (GamesToRedeemInBackground) {
- foreach (DictionaryEntry game in games) {
- if (GamesToRedeemInBackground.Contains(game.Key)) {
- continue;
- }
-
+ foreach (DictionaryEntry game in games.Cast().Where(game => !GamesToRedeemInBackground.Contains(game.Key))) {
GamesToRedeemInBackground.Add(game.Key, game.Value);
save = true;
}