【发布时间】:2018-09-29 02:40:58
【问题描述】:
我正在尝试制作一个按钮,用于检查 textBox1.Text 是否包含我在在线 Pastebin 上的原始文本文件中的任何文本以进行测试。
这是我的代码:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
WebClient client = new WebClient();
string reply = client.DownloadString("https://pastebin.com/raw/0FHx1t5w");
}
对于我的按钮
private void button1_Click(object sender, EventArgs e)
{
string textbox = textBox1.Text;
// Compile error on next line:
if (textbox.Contains(reply))
{
}
}
字符串reply被标记为红色并表示:
名称'reply'在当前上下文中不存在
是不是因为.Contains不支持字符串检查?
【问题讨论】:
-
这是因为变量“reply”只存在于Form1构造函数的上下文中,因为它是局部变量(你在那里声明的)。使其成为类字段或声明它并下载 button1_Click 方法中的值。
-
另外,您需要使用
Textbox的Text属性(而不是Textbox本身)调用Contains。并且,如果 first 字符串包含 second 字符串,Contains将返回true。在您的情况下,听起来您想检查文本框文本是否包含在原始文本中。如果是这种情况,您将使用if (reply.Contains(textbox.Text))。 -
你好 Rufus L,当我单击带有“if (textbox.Contains(reply ))”。我将回复字符串打印到控制台,这很好。
-
显示更新后的代码。同样,
if (textbox.Contains(reply))不正确,因为textbox没有Contains的定义。您需要使用if (textbox.Text.Contains(reply))。
标签: c# forms winforms visual-studio