我有以下简单的方法:
public static bool IsErrorMessage(String error)
{
var isErrorMessage = error.Left(40).Contains("ErrorMessage",StringComparison.CurrentCulture);
return isErrorMessage;
}
但是我收到一个错误,指出字符串不包含'Contains'的定义,VS想要使用System.Linq.Enumerable.Contains。
使用.NET Framework 4.5,C#,VS 2010,当然我有一个使用System指令。
答案 0 :(得分:6)
String.Contains
没有带有两个参数的重载。如果您想使用StringComparison
,请使用IndexOf
:
bool isErrorMessage = error.Left(40).IndexOf("ErrorMessage", StringComparison.CurrentCulture) > -1;
答案 1 :(得分:2)
由于两个参数,它看起来更喜欢LINQ扩展方法,因为String :: Contains只有一个参数。
我认为您需要充实扩展方法以发现问题。这是一个可以帮助您入门的编译示例:
public static class StringExtensions
{
public static string Left(this string s, int count)
{
// your method
return "";
}
public static bool Contains(this string s, string contains, StringComparison comp)
{
// your method
return true;
}
}
public class Test
{
public static bool IsErrorMessage(String error)
{
var isErrorMessage = error.Left(40).Contains("ErrorMessage", StringComparison.CurrentCulture);
return isErrorMessage;
}
}