diff --git a/src/Microsoft.Management.Infrastructure.CimCmdlets/GetCimAssociatedInstanceCommand.cs b/src/Microsoft.Management.Infrastructure.CimCmdlets/GetCimAssociatedInstanceCommand.cs
index 21d61b78b5..36987d35bd 100644
--- a/src/Microsoft.Management.Infrastructure.CimCmdlets/GetCimAssociatedInstanceCommand.cs
+++ b/src/Microsoft.Management.Infrastructure.CimCmdlets/GetCimAssociatedInstanceCommand.cs
@@ -248,11 +248,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
protected override void ProcessRecord()
{
base.CheckParameterSet();
- CimGetAssociatedInstance operation = this.GetOperationAgent();
- if (operation == null)
- {
- operation = this.CreateOperationAgent();
- }
+ CimGetAssociatedInstance operation = this.GetOperationAgent() ?? this.CreateOperationAgent();
operation.GetCimAssociatedInstance(this);
operation.ProcessActions(this.CmdletOperation);
diff --git a/src/Microsoft.Management.Infrastructure.CimCmdlets/GetCimClassCommand.cs b/src/Microsoft.Management.Infrastructure.CimCmdlets/GetCimClassCommand.cs
index 71785c5db7..a439e263f0 100644
--- a/src/Microsoft.Management.Infrastructure.CimCmdlets/GetCimClassCommand.cs
+++ b/src/Microsoft.Management.Infrastructure.CimCmdlets/GetCimClassCommand.cs
@@ -220,11 +220,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
protected override void ProcessRecord()
{
base.CheckParameterSet();
- CimGetCimClass cimGetCimClass = this.GetOperationAgent();
- if (cimGetCimClass == null)
- {
- cimGetCimClass = CreateOperationAgent();
- }
+ CimGetCimClass cimGetCimClass = this.GetOperationAgent() ?? CreateOperationAgent();
cimGetCimClass.GetCimClass(this);
cimGetCimClass.ProcessActions(this.CmdletOperation);
diff --git a/src/Microsoft.Management.Infrastructure.CimCmdlets/GetCimInstanceCommand.cs b/src/Microsoft.Management.Infrastructure.CimCmdlets/GetCimInstanceCommand.cs
index d579dc3666..60c6e6bfa7 100644
--- a/src/Microsoft.Management.Infrastructure.CimCmdlets/GetCimInstanceCommand.cs
+++ b/src/Microsoft.Management.Infrastructure.CimCmdlets/GetCimInstanceCommand.cs
@@ -460,11 +460,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
{
base.CheckParameterSet();
this.CheckArgument();
- CimGetInstance cimGetInstance = this.GetOperationAgent();
- if (cimGetInstance == null)
- {
- cimGetInstance = CreateOperationAgent();
- }
+ CimGetInstance cimGetInstance = this.GetOperationAgent() ?? CreateOperationAgent();
cimGetInstance.GetCimInstance(this);
cimGetInstance.ProcessActions(this.CmdletOperation);
diff --git a/src/Microsoft.Management.Infrastructure.CimCmdlets/InvokeCimMethodCommand.cs b/src/Microsoft.Management.Infrastructure.CimCmdlets/InvokeCimMethodCommand.cs
index 2363bf80b7..e777987a87 100644
--- a/src/Microsoft.Management.Infrastructure.CimCmdlets/InvokeCimMethodCommand.cs
+++ b/src/Microsoft.Management.Infrastructure.CimCmdlets/InvokeCimMethodCommand.cs
@@ -373,11 +373,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
///
protected override void BeginProcessing()
{
- CimInvokeCimMethod cimInvokeMethod = this.GetOperationAgent();
- if (cimInvokeMethod == null)
- {
- cimInvokeMethod = CreateOperationAgent();
- }
+ CimInvokeCimMethod cimInvokeMethod = this.GetOperationAgent() ?? CreateOperationAgent();
this.CmdletOperation = new CmdletOperationInvokeCimMethod(this, cimInvokeMethod);
this.AtBeginProcess = false;
diff --git a/src/Microsoft.Management.Infrastructure.CimCmdlets/NewCimInstanceCommand.cs b/src/Microsoft.Management.Infrastructure.CimCmdlets/NewCimInstanceCommand.cs
index 96cc061c3e..31b860777e 100644
--- a/src/Microsoft.Management.Infrastructure.CimCmdlets/NewCimInstanceCommand.cs
+++ b/src/Microsoft.Management.Infrastructure.CimCmdlets/NewCimInstanceCommand.cs
@@ -355,11 +355,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
}
}
- CimNewCimInstance cimNewCimInstance = this.GetOperationAgent();
- if (cimNewCimInstance == null)
- {
- cimNewCimInstance = CreateOperationAgent();
- }
+ CimNewCimInstance cimNewCimInstance = this.GetOperationAgent() ?? CreateOperationAgent();
cimNewCimInstance.NewCimInstance(this);
cimNewCimInstance.ProcessActions(this.CmdletOperation);
diff --git a/src/Microsoft.Management.Infrastructure.CimCmdlets/RemoveCimInstanceCommand.cs b/src/Microsoft.Management.Infrastructure.CimCmdlets/RemoveCimInstanceCommand.cs
index 8aeafe713b..60b152055b 100644
--- a/src/Microsoft.Management.Infrastructure.CimCmdlets/RemoveCimInstanceCommand.cs
+++ b/src/Microsoft.Management.Infrastructure.CimCmdlets/RemoveCimInstanceCommand.cs
@@ -244,11 +244,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
///
protected override void BeginProcessing()
{
- CimRemoveCimInstance cimRemoveInstance = this.GetOperationAgent();
- if (cimRemoveInstance == null)
- {
- cimRemoveInstance = CreateOperationAgent();
- }
+ CimRemoveCimInstance cimRemoveInstance = this.GetOperationAgent() ?? CreateOperationAgent();
this.CmdletOperation = new CmdletOperationRemoveCimInstance(this, cimRemoveInstance);
this.AtBeginProcess = false;
diff --git a/src/Microsoft.Management.Infrastructure.CimCmdlets/SetCimInstanceCommand.cs b/src/Microsoft.Management.Infrastructure.CimCmdlets/SetCimInstanceCommand.cs
index 2ed4b3e093..7237352b61 100644
--- a/src/Microsoft.Management.Infrastructure.CimCmdlets/SetCimInstanceCommand.cs
+++ b/src/Microsoft.Management.Infrastructure.CimCmdlets/SetCimInstanceCommand.cs
@@ -301,11 +301,7 @@ namespace Microsoft.Management.Infrastructure.CimCmdlets
///
protected override void BeginProcessing()
{
- CimSetCimInstance cimSetCimInstance = this.GetOperationAgent();
- if (cimSetCimInstance == null)
- {
- cimSetCimInstance = CreateOperationAgent();
- }
+ CimSetCimInstance cimSetCimInstance = this.GetOperationAgent() ?? CreateOperationAgent();
this.CmdletOperation = new CmdletOperationSetCimInstance(this, cimSetCimInstance);
this.AtBeginProcess = false;
diff --git a/src/Microsoft.Management.UI.Internal/ManagementList/FilterProviders/FilterRuleTemplateSelector.cs b/src/Microsoft.Management.UI.Internal/ManagementList/FilterProviders/FilterRuleTemplateSelector.cs
index e7e44ce850..fc40c3c576 100644
--- a/src/Microsoft.Management.UI.Internal/ManagementList/FilterProviders/FilterRuleTemplateSelector.cs
+++ b/src/Microsoft.Management.UI.Internal/ManagementList/FilterProviders/FilterRuleTemplateSelector.cs
@@ -45,11 +45,7 @@ namespace Microsoft.Management.UI.Internal
return base.SelectTemplate(item, container);
}
- Type type = item as Type;
- if (type == null)
- {
- type = item.GetType();
- }
+ Type type = item as Type ?? item.GetType();
DataTemplate template;
diff --git a/src/Microsoft.Management.UI.Internal/commandHelpers/ShowCommandHelper.cs b/src/Microsoft.Management.UI.Internal/commandHelpers/ShowCommandHelper.cs
index bc15f1e76b..2f66687d9e 100644
--- a/src/Microsoft.Management.UI.Internal/commandHelpers/ShowCommandHelper.cs
+++ b/src/Microsoft.Management.UI.Internal/commandHelpers/ShowCommandHelper.cs
@@ -597,11 +597,7 @@ Function PSGetSerializedShowCommandInfo
/// An array of objects out of .
internal static object[] ObjectArrayFromObjectCollection(object commandObjects)
{
- object[] objectArray = commandObjects as object[];
- if (objectArray == null)
- {
- objectArray = ((System.Collections.ArrayList)commandObjects).ToArray();
- }
+ object[] objectArray = commandObjects as object[] ?? ((System.Collections.ArrayList)commandObjects).ToArray();
return objectArray;
}
diff --git a/src/Microsoft.PowerShell.Commands.Utility/commands/utility/AddType.cs b/src/Microsoft.PowerShell.Commands.Utility/commands/utility/AddType.cs
index d504a43a46..870c47b7ee 100644
--- a/src/Microsoft.PowerShell.Commands.Utility/commands/utility/AddType.cs
+++ b/src/Microsoft.PowerShell.Commands.Utility/commands/utility/AddType.cs
@@ -652,11 +652,7 @@ namespace Microsoft.PowerShell.Commands
{
// CoreCLR doesn't allow re-load TPA assemblies with different API (i.e. we load them by name and now want to load by path).
// LoadAssemblyHelper helps us avoid re-loading them, if they already loaded.
- Assembly assembly = LoadAssemblyHelper(assemblyName);
- if (assembly == null)
- {
- assembly = Assembly.LoadFrom(ResolveAssemblyName(assemblyName, false));
- }
+ Assembly assembly = LoadAssemblyHelper(assemblyName) ?? Assembly.LoadFrom(ResolveAssemblyName(assemblyName, false));
if (PassThru)
{
diff --git a/src/Microsoft.WSMan.Management/CredSSP.cs b/src/Microsoft.WSMan.Management/CredSSP.cs
index abb523f681..aaa38a43ba 100644
--- a/src/Microsoft.WSMan.Management/CredSSP.cs
+++ b/src/Microsoft.WSMan.Management/CredSSP.cs
@@ -665,17 +665,13 @@ namespace Microsoft.WSMan.Management
{
string Registry_Path_Credentials_Delegation = Registry_Path + @"\CredentialsDelegation";
// open the registry key.If key is not present,create a new one
- Credential_Delegation_Key = rootKey.OpenSubKey(Registry_Path_Credentials_Delegation, true);
- if (Credential_Delegation_Key == null)
- Credential_Delegation_Key = rootKey.CreateSubKey(Registry_Path_Credentials_Delegation, RegistryKeyPermissionCheck.ReadWriteSubTree);
+ Credential_Delegation_Key = rootKey.OpenSubKey(Registry_Path_Credentials_Delegation, true) ?? rootKey.CreateSubKey(Registry_Path_Credentials_Delegation, RegistryKeyPermissionCheck.ReadWriteSubTree);
Credential_Delegation_Key.SetValue(helper.Key_Allow_Fresh_Credentials, 1, RegistryValueKind.DWord);
Credential_Delegation_Key.SetValue(helper.Key_Concatenate_Defaults_AllowFresh, 1, RegistryValueKind.DWord);
// add the delegate value
- Allow_Fresh_Credential_Key = rootKey.OpenSubKey(Registry_Path_Credentials_Delegation + @"\" + helper.Key_Allow_Fresh_Credentials, true);
- if (Allow_Fresh_Credential_Key == null)
- Allow_Fresh_Credential_Key = rootKey.CreateSubKey(Registry_Path_Credentials_Delegation + @"\" + helper.Key_Allow_Fresh_Credentials, RegistryKeyPermissionCheck.ReadWriteSubTree);
+ Allow_Fresh_Credential_Key = rootKey.OpenSubKey(Registry_Path_Credentials_Delegation + @"\" + helper.Key_Allow_Fresh_Credentials, true) ?? rootKey.CreateSubKey(Registry_Path_Credentials_Delegation + @"\" + helper.Key_Allow_Fresh_Credentials, RegistryKeyPermissionCheck.ReadWriteSubTree);
if (Allow_Fresh_Credential_Key != null)
{
diff --git a/src/Microsoft.WSMan.Management/WSManConnections.cs b/src/Microsoft.WSMan.Management/WSManConnections.cs
index 103115fff9..4aeb283b81 100644
--- a/src/Microsoft.WSMan.Management/WSManConnections.cs
+++ b/src/Microsoft.WSMan.Management/WSManConnections.cs
@@ -269,11 +269,7 @@ namespace Microsoft.WSMan.Management
}
}
- string crtComputerName = computername;
- if (crtComputerName == null)
- {
- crtComputerName = "localhost";
- }
+ string crtComputerName = computername ?? "localhost";
if (this.SessionState.Path.CurrentProviderLocation(WSManStringLiterals.rootpath).Path.StartsWith(this.SessionState.Drive.Current.Name + ":" + WSManStringLiterals.DefaultPathSeparator + crtComputerName, StringComparison.OrdinalIgnoreCase))
{
diff --git a/src/Microsoft.WSMan.Management/WsManHelper.cs b/src/Microsoft.WSMan.Management/WsManHelper.cs
index a1ce8af421..7b0a8f4bf1 100644
--- a/src/Microsoft.WSMan.Management/WsManHelper.cs
+++ b/src/Microsoft.WSMan.Management/WsManHelper.cs
@@ -960,11 +960,7 @@ namespace Microsoft.WSMan.Management
IWSManSession m_session = CreateSessionObject(m_wsmanObject, authentication, sessionoption, credential, connectionStr, certificateThumbprint, usessl);
m_session.Identify(0);
- string key = computername;
- if (key == null)
- {
- key = "localhost";
- }
+ string key = computername ?? "localhost";
AddtoDictionary(key, m_session);
}
diff --git a/src/System.Management.Automation/engine/PSConfiguration.cs b/src/System.Management.Automation/engine/PSConfiguration.cs
index 6c585cc0a0..aacf5c50e3 100644
--- a/src/System.Management.Automation/engine/PSConfiguration.cs
+++ b/src/System.Management.Automation/engine/PSConfiguration.cs
@@ -219,38 +219,23 @@ namespace System.Management.Automation.Configuration
internal bool IsImplicitWinCompatEnabled()
{
- bool? settingValue = ReadValueFromFile(ConfigScope.CurrentUser, DisableImplicitWinCompatKey);
- if (!settingValue.HasValue)
- {
- // if the setting is not mentioned in configuration files, then the default DisableImplicitWinCompat value is False
- settingValue = ReadValueFromFile(ConfigScope.AllUsers, DisableImplicitWinCompatKey, defaultValue: false);
- }
+ bool settingValue = ReadValueFromFile(ConfigScope.CurrentUser, DisableImplicitWinCompatKey)
+ ?? ReadValueFromFile(ConfigScope.AllUsers, DisableImplicitWinCompatKey)
+ ?? false;
- return !settingValue.Value;
+ return !settingValue;
}
internal string[] GetWindowsPowerShellCompatibilityModuleDenyList()
{
- string[] settingValue = ReadValueFromFile(ConfigScope.CurrentUser, WindowsPowerShellCompatibilityModuleDenyListKey);
- if (settingValue == null)
- {
- // if the setting is not mentioned in configuration files, then the default WindowsPowerShellCompatibilityModuleDenyList value is null
- settingValue = ReadValueFromFile(ConfigScope.AllUsers, WindowsPowerShellCompatibilityModuleDenyListKey);
- }
-
- return settingValue;
+ return ReadValueFromFile(ConfigScope.CurrentUser, WindowsPowerShellCompatibilityModuleDenyListKey)
+ ?? ReadValueFromFile(ConfigScope.AllUsers, WindowsPowerShellCompatibilityModuleDenyListKey);
}
internal string[] GetWindowsPowerShellCompatibilityNoClobberModuleList()
{
- string[] settingValue = ReadValueFromFile(ConfigScope.CurrentUser, WindowsPowerShellCompatibilityNoClobberModuleListKey);
- if (settingValue == null)
- {
- // if the setting is not mentioned in configuration files, then the default WindowsPowerShellCompatibilityNoClobberModuleList value is null
- settingValue = ReadValueFromFile(ConfigScope.AllUsers, WindowsPowerShellCompatibilityNoClobberModuleListKey);
- }
-
- return settingValue;
+ return ReadValueFromFile(ConfigScope.CurrentUser, WindowsPowerShellCompatibilityNoClobberModuleListKey)
+ ?? ReadValueFromFile(ConfigScope.AllUsers, WindowsPowerShellCompatibilityNoClobberModuleListKey);
}
///
diff --git a/src/System.Management.Automation/engine/SessionStateDriveAPIs.cs b/src/System.Management.Automation/engine/SessionStateDriveAPIs.cs
index 91228e4dd1..7c2eeb447c 100644
--- a/src/System.Management.Automation/engine/SessionStateDriveAPIs.cs
+++ b/src/System.Management.Automation/engine/SessionStateDriveAPIs.cs
@@ -473,13 +473,9 @@ namespace System.Management.Automation
if (result == null && automount)
{
- // first try to automount as a file system drive
- result = AutomountFileSystemDrive(name);
- // if it didn't work, then try automounting as a BuiltIn drive (e.g. "Cert"/"Certificate"/"WSMan")
- if (result == null)
- {
- result = AutomountBuiltInDrive(name); // internally this calls GetDrive(name, false)
- }
+ // Attempt to automount as a file system drive
+ // or as a BuiltIn drive (e.g. "Cert"/"Certificate"/"WSMan")
+ result = AutomountFileSystemDrive(name) ?? AutomountBuiltInDrive(name);
}
if (result == null)
@@ -744,6 +740,9 @@ namespace System.Management.Automation
///
/// Auto-mounts a built-in drive.
///
+ ///
+ /// Calls GetDrive(name, false) internally.
+ ///
/// The name of the drive to load.
///
internal PSDriveInfo AutomountBuiltInDrive(string name)
diff --git a/src/System.Management.Automation/engine/lang/parserutils.cs b/src/System.Management.Automation/engine/lang/parserutils.cs
index 44eed05e51..6a3a533b12 100644
--- a/src/System.Management.Automation/engine/lang/parserutils.cs
+++ b/src/System.Management.Automation/engine/lang/parserutils.cs
@@ -1178,13 +1178,10 @@ namespace System.Management.Automation
// if passed an explicit regex, just use it
// otherwise compile the expression.
- Regex r = PSObject.Base(rval) as Regex;
- if (r == null)
- {
- // In this situation, creation of Regex should not fail. We are not
- // processing ArgumentException in this case.
- r = NewRegex(PSObject.ToStringParser(context, rval), reOptions);
- }
+ // In this situation, creation of Regex should not fail. We are not
+ // processing ArgumentException in this case.
+ Regex r = PSObject.Base(rval) as Regex
+ ?? NewRegex(PSObject.ToStringParser(context, rval), reOptions);
IEnumerator list = LanguagePrimitives.GetEnumerator(lval);
if (list == null)
diff --git a/src/System.Management.Automation/help/HelpProvider.cs b/src/System.Management.Automation/help/HelpProvider.cs
index 66a7ab1ab9..76ce316843 100644
--- a/src/System.Management.Automation/help/HelpProvider.cs
+++ b/src/System.Management.Automation/help/HelpProvider.cs
@@ -225,15 +225,9 @@ namespace System.Management.Automation
{
string shellID = this.HelpSystem.ExecutionContext.ShellID;
// Beginning in PowerShell 6.0.0.12, the $pshome is no longer registry specified, we search the application base instead.
- string returnValue = Utils.GetApplicationBase(shellID);
-
- if (returnValue == null)
- {
- // use executing assemblies location in case registry entry not found
- returnValue = Path.GetDirectoryName(PsUtils.GetMainModule(System.Diagnostics.Process.GetCurrentProcess()).FileName);
- }
-
- return returnValue;
+ // We use executing assemblies location in case registry entry not found
+ return Utils.GetApplicationBase(shellID)
+ ?? Path.GetDirectoryName(PsUtils.GetMainModule(System.Diagnostics.Process.GetCurrentProcess()).FileName);
}
///