diff --git a/CodeConverter/CSharp/VisualBasicEqualityComparison.cs b/CodeConverter/CSharp/VisualBasicEqualityComparison.cs index 6a70cf5c..b05a643a 100644 --- a/CodeConverter/CSharp/VisualBasicEqualityComparison.cs +++ b/CodeConverter/CSharp/VisualBasicEqualityComparison.cs @@ -179,6 +179,12 @@ private static ObjectCreationExpressionSyntax NewStringFromArg(ExpressionSyntax public bool TryConvertToNullOrEmptyCheck(VBSyntax.BinaryExpressionSyntax node, ExpressionSyntax lhs, ExpressionSyntax rhs, out CSharpSyntaxNode? visitBinaryExpression) { + if (OptionCompareTextCaseInsensitive) + { + visitBinaryExpression = null; + return false; + } + bool lhsEmpty = IsNothingOrEmpty(node.Left); bool rhsEmpty = IsNothingOrEmpty(node.Right); diff --git a/Tests/CSharp/ExpressionTests/StringExpressionTests.cs b/Tests/CSharp/ExpressionTests/StringExpressionTests.cs index 60cd5422..414ba0e5 100644 --- a/Tests/CSharp/ExpressionTests/StringExpressionTests.cs +++ b/Tests/CSharp/ExpressionTests/StringExpressionTests.cs @@ -208,11 +208,11 @@ public void Foo() { throw new Exception(); } - if (string.IsNullOrEmpty(s1)) + if (CultureInfo.CurrentCulture.CompareInfo.Compare(s1 ?? """", """", CompareOptions.IgnoreCase | CompareOptions.IgnoreKanaType | CompareOptions.IgnoreWidth) == 0) { // } - if (string.IsNullOrEmpty(s1)) + if (CultureInfo.CurrentCulture.CompareInfo.Compare(s1 ?? """", """", CompareOptions.IgnoreCase | CompareOptions.IgnoreKanaType | CompareOptions.IgnoreWidth) == 0) { // }