The last three statements all report S3900 despite the values being inspected for null prior to being used.
public static string MyFunc(string arg1, string arg2, string arg3)
{
if (string.IsNullOrWhiteSpace(arg1) == true)
{
throw new ArgumentNullException(nameof(arg1));
}
if (string.IsNullOrWhiteSpace(arg2) == true)
{
throw new ArgumentNullException(nameof(arg2));
}
if (string.IsNullOrWhiteSpace(arg3) == true)
{
throw new ArgumentNullException(nameof(arg3));
}
var val1 = Encoding.UTF8.GetBytes(arg2.Substring(0, 32));
var val2 = Encoding.UTF8.GetBytes(arg3.Substring(0, 16));
var val3 = arg1.Replace('*', '/').Replace(' ', '+');