public static string GetPath()
{
try
{
using (var Key = Registry.LocalMachine.OpenSubKey(SteamPath64, true))
{
using (var Key2 = Registry.LocalMachine.OpenSubKey(SteamPath32, true))
{
if (Key != null)
return (string)Key.GetValue("InstallPath").ToString();
else if (Key2 != null)
return (string)Key2.GetValue("SourceModInstallPath").ToString();
}
}
return GetPath();
}
catch
{
return null;
}
}
Подскажите как сделать проверку без использовать Key != null ?
Для C# 6.0+ можно изменить ваш код например так:
public static string GetPath()
{
using (var Key = Registry.LocalMachine.OpenSubKey(SteamPath64, true))
using (var Key2 = Registry.LocalMachine.OpenSubKey(SteamPath32, true))
{
return Key?.GetValue("InstallPath")?.ToString() ?? Key2?.GetValue("SourceModInstallPath")?.ToString();
}
}
в случае отсутствия первого ключа или его значения, будет запрошен второй. Если и он отсутствует - вернется null.
Ни какой магии тут нет, все необходимые проверки будут сделаны, их подставит компилятор.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости