C# 为什么我得到一个错误,说字符串不包含';包含';
我有以下简单的方法:C# 为什么我得到一个错误,说字符串不包含';包含';,c#,.net,C#,.net,我有以下简单的方法: public static bool IsErrorMessage(String error) { var isErrorMessage = error.Left(40).Contains("ErrorMessage",StringComparison.CurrentCulture); return isErrorMessage; } 但我得到一个错误,说字符串不包含“Contains”的定义,VS希望使用S
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指令。由于有两个参数,它似乎更喜欢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;
}
}
字符串没有重载。包含接受两个参数的
。如果要使用StringComparison
,请使用IndexOf
:
bool isErrorMessage = error.Left(40).IndexOf("ErrorMessage", StringComparison.CurrentCulture) > -1;
什么是
Left
方法,它返回什么?Left方法不是.net framework方法;请给我们方法签名,包括它的返回。顺便说一句,这不应该是你处理错误的方式。这就是Exception
s的用途。如果错误
实际上是“这不是错误消息。”
?这被认为是一个错误消息吗?
?Left是一个返回字符串的扩展方法。@YoryeNathan可能是OP正在分析一个日志文件以查找错误消息。谢谢您的帮助。回想起来,这应该是显而易见的。