C# 包含<&燃气轮机;()匹配时未返回true

C# 包含<&燃气轮机;()匹配时未返回true,c#,string,contains,C#,String,Contains,我有一根绳子 String input = "nbfs;jlt;\""; 对于这个字符串,我使用.Contains() 不起作用。 为什么上面的if语句返回false?这将不会使用.Contains编译,除非您使用某种扩展方法?这可能是您不知道的自定义类吗 您应该只使用字符串的内置containsinput.contains(“字符串”)输入。包含(“nbfs;jlt;”)需要字符串枚举 使用:input.Contains(“nbfs;jlt;”) 编辑 作为对大量注释的响应,.Contain

我有一根绳子

String input = "nbfs;jlt;\"";
对于这个字符串,我使用.Contains()

不起作用。
为什么上面的if语句返回false?

这将不会使用
.Contains
编译,除非您使用某种扩展方法?这可能是您不知道的自定义类吗

您应该只使用字符串的内置contains
input.contains(“字符串”)

输入。包含(“nbfs;jlt;”)
需要字符串枚举

使用:
input.Contains(“nbfs;jlt;”)

编辑
作为对大量注释的响应,
.Contains
方法将不会在标准字符串上编译:

string input = "nbfs;jlt;";
input.Contains<String>("nbfs;jlt;") // this will never compile
只需删除
并使用:
if(input.Contains(“nbfs;jlt;”)

,因此不需要指定类型参数

试试这个

if (input.Contains("nbfs;jlt;"))
{
    Console.WriteLine("True");
}


这可能是因为您正在查找的字符串在输入字符串中不存在……您是否尝试编译此代码?@Charleh很抱歉,在编写更正的问题时出现了拼写错误。考虑到它甚至无法编译,我怀疑它是否返回true或false。字符串不包含
.Contains
@JordanTrainor的定义-在这种情况下,我不知道
字符串.Contains
是什么。我很惊讶你发布的代码能为你编译。
删除分号,它会工作
我不会工作,因为它是不可编译的。使用OPs编辑,这不再正确,但我是在containsits checking
nbfs中他检查的字符串中说的;jlt;“
对于
nbfs;jlt;
。在这种情况下,contains函数不应该返回true吗?@L.B它确实编译并运行良好。它只是在OPs编辑时不输出true
,这不再正确
,在其原始版本中也不正确。这仍然不返回true确定我将在新项目中重写它,然后在这里回复。”使用结果。OK在不复制+粘贴的情况下重写它,但仍然返回False请参见编辑2-示例将返回true。OK Edit 2在普通控制台应用程序中工作,但在我的应用程序中不工作,但以下内容在我的代码中工作,如果(“nbfs;jlt;\”。包含(“nbfs;jlt;”),则返回true{}但是if(input.Contains(“nbfs;jlt;”)返回false,即使输入与第一个输入完全相同,如果出于某种原因,STATTION已在我的普通控制台应用程序中开始工作,可能只是一个小故障?奇怪-它对我有效,并返回
true
…如果它是较大代码的一部分,请使用调试器检查
输入是否具有您期望的值。iv使用精简了我的代码版本并逐行调试,它仍然跳过if语句,即使它应该是真的
string input = "nbfs;jlt;";
input.Contains<String>("nbfs;jlt;") // this will never compile
input.Select( x => x.ToString() ).Contains<String>( "nbfs;jlt;" )
string input = "nbfs;jlt;\"";

bool isContained = input.Contains( "nbfs;jlt;" );

Console.WriteLine( isContained );
if (input.Contains("nbfs;jlt;"))
{
    Console.WriteLine("True");
}