contains(str, StringComparison.OrdinalIgnoreCase) 에러??

안녕하세요 C# 독학중인 초급개발자입니다.

다름이 아니라 알 수 없는 에러가 발생해서 원인과 해결방안을 모색하고 질문 올립니다.

ㅇ"인수 2개를 사용하는 ‘Contains’ 메서드에 대한 오버로드가 없습니다.’ 에러가 발생하는데 왜 뜨는지 원인을 알 수 가 없습니다.

고수님들의 지혜가 필요합니다…

using System.Linq;

namespace Libs.Tools
{
    public class Common
    {
        public bool isContains(string tempString1, string tempString2)
        { 
            return tempString1.Contains(tempString2, StringComparison.OrdinalIgnoreCase);
        }
    }
}

화면 캡처 2023-08-04 095816

실행 가능한 완전한 최소 코드를 공유해주시겠어요?

수정했습니다!

string.Contains 메서드에 StringComparison를 인자로 추가로 받는 오버로드는 .NET Core 계열(.NET x)에서만 제공됩니다.

Microsoft Learn의 .NET Framework 버전 string.Contains 메서드 설명에는 아래와 같이 되어있습니다.

이 메서드는 서수(대/소문자를 구분하고 문화권을 구분하지 않음) 비교를 수행합니다. 검색은 이 문자열의 첫 번째 문자 위치에서 시작하여 마지막 문자 위치를 계속 진행합니다.문화권 구분 또는 서수 대/소문자를 구분하지 않는 비교를 수행하려면 다음을 수행합니다.

.NET Framework에서 stirng.Contains(string, StringComparison)과 동일한 기능을 수행하려면 아래와 같이 사용하시면 됩니다.

return tempString1.IndexOf(tempString2, StringComparison.OrdinalIgnoreCase) >= 0;

String.Contains 메서드 (.NET Framework 4.7.2)

String.Contains 메서드 (.NET Framework 4.7.2) | Microsoft Learn

오버로드

Contains(String) 이 문자열 내에서 지정한 하위 문자열이 발생하는지를 나타내는 값을 반환합니다.

String.Contains 메서드 (.NET 7)

String.Contains 메서드 (.NET 7) | Microsoft Learn

오버로드

Contains(Char) 이 문자열 내에서 지정한 문자가 표시되는지를 나타내는 값을 반환합니다.
Contains(String) 이 문자열 내에서 지정한 하위 문자열이 발생하는지를 나타내는 값을 반환합니다.
Contains(Char, StringComparison) 지정된 비교 규칙을 사용하여 이 문자열 내에서 지정한 문자가 표시되는지를 나타내는 값을 반환합니다.
Contains(String, StringComparison) 지정된 비교 규칙을 사용하여 이 문자열 내에서 지정한 문자열이 표시되는지를 나타내는 값을 반환합니다.
6개의 좋아요