aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.HLE/FileSystem/ContentManager.cs
diff options
context:
space:
mode:
authorMarco Carvalho <marcolucio27@gmail.com>2023-06-09 08:05:32 -0300
committerGitHub <noreply@github.com>2023-06-09 13:05:32 +0200
commite94d24f5086e6bd371fe74661ad8a650fb99ea55 (patch)
tree606a99e324df98664791ce4078b0db82a309ae1d /src/Ryujinx.HLE/FileSystem/ContentManager.cs
parent2bf4555591d246ba315505d5b70fcaee43c1fa11 (diff)
Prefer a 'TryGetValue' call over a Dictionary indexer access guarded by a 'ContainsKey' (#5231)1.1.877
* Prefer a 'TryGetValue' call over a Dictionary indexer access guarded by a 'ContainsKey' check to avoid double lookup * fix
Diffstat (limited to 'src/Ryujinx.HLE/FileSystem/ContentManager.cs')
-rw-r--r--src/Ryujinx.HLE/FileSystem/ContentManager.cs22
1 files changed, 10 insertions, 12 deletions
diff --git a/src/Ryujinx.HLE/FileSystem/ContentManager.cs b/src/Ryujinx.HLE/FileSystem/ContentManager.cs
index 9facdd0b..e00310a0 100644
--- a/src/Ryujinx.HLE/FileSystem/ContentManager.cs
+++ b/src/Ryujinx.HLE/FileSystem/ContentManager.cs
@@ -181,7 +181,7 @@ namespace Ryujinx.HLE.FileSystem
}
}
- if (_locationEntries.ContainsKey(storageId) && _locationEntries[storageId]?.Count == 0)
+ if (_locationEntries.TryGetValue(storageId, out var locationEntriesItem) && locationEntriesItem?.Count == 0)
{
_locationEntries.Remove(storageId);
}
@@ -347,9 +347,9 @@ namespace Ryujinx.HLE.FileSystem
{
lock (_lock)
{
- if (_contentDictionary.ContainsKey((titleId, contentType)))
+ if (_contentDictionary.TryGetValue((titleId, contentType), out var contentDictionaryItem))
{
- return UInt128Utils.FromHex(_contentDictionary[(titleId, contentType)]);
+ return UInt128Utils.FromHex(contentDictionaryItem);
}
}
@@ -719,9 +719,9 @@ namespace Ryujinx.HLE.FileSystem
Nca nca = new Nca(_virtualFileSystem.KeySet, storage);
- if (updateNcas.ContainsKey(nca.Header.TitleId))
+ if (updateNcas.TryGetValue(nca.Header.TitleId, out var updateNcasItem))
{
- updateNcas[nca.Header.TitleId].Add((nca.Header.ContentType, entry.FullName));
+ updateNcasItem.Add((nca.Header.ContentType, entry.FullName));
}
else
{
@@ -732,10 +732,8 @@ namespace Ryujinx.HLE.FileSystem
}
}
- if (updateNcas.ContainsKey(SystemUpdateTitleId))
+ if (updateNcas.TryGetValue(SystemUpdateTitleId, out var ncaEntry))
{
- var ncaEntry = updateNcas[SystemUpdateTitleId];
-
string metaPath = ncaEntry.Find(x => x.type == NcaContentType.Meta).path;
CnmtContentMetaEntry[] metaEntries = null;
@@ -770,9 +768,9 @@ namespace Ryujinx.HLE.FileSystem
throw new FileNotFoundException("System update title was not found in the firmware package.");
}
- if (updateNcas.ContainsKey(SystemVersionTitleId))
+ if (updateNcas.TryGetValue(SystemVersionTitleId, out var updateNcasItem))
{
- string versionEntry = updateNcas[SystemVersionTitleId].Find(x => x.type != NcaContentType.Meta).path;
+ string versionEntry = updateNcasItem.Find(x => x.type != NcaContentType.Meta).path;
using (Stream ncaStream = GetZipStream(archive.GetEntry(versionEntry)))
{
@@ -916,9 +914,9 @@ namespace Ryujinx.HLE.FileSystem
}
}
- if (updateNcas.ContainsKey(nca.Header.TitleId))
+ if (updateNcas.TryGetValue(nca.Header.TitleId, out var updateNcasItem))
{
- updateNcas[nca.Header.TitleId].Add((nca.Header.ContentType, entry.FullPath));
+ updateNcasItem.Add((nca.Header.ContentType, entry.FullPath));
}
else
{