为什么我得到一个错误,说字符串不包含'Contains'的定义
本文关键字:字符串 包含 定义 Contains 错误 一个 为什么 | 更新日期: 2023-09-27 18:13:51
我有下面的简单方法:
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,当然我还有一个Using System指令。
没有接受两个参数的String.Contains
重载。如果您想使用StringComparison
,请使用IndexOf
:
bool isErrorMessage = error.Left(40).IndexOf("ErrorMessage", StringComparison.CurrentCulture) > -1;
看起来它更喜欢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;
}
}