안녕하세요 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
오버로드
String.Contains 메서드 (.NET 7)
String.Contains 메서드 (.NET 7) | Microsoft Learn
오버로드
6개의 좋아요