C# 检查表中是否存在单词
我已经建立了一个数据表,如图所示。。我将在一个文本框中插入一个句子,例如:“男孩踢球”我需要检查该句子的每个单词,如果它确实存在于该表中,那么它将在列表框中显示包含该单词的列的名称,例如:(the=>Article)。 我完成了所有步骤,但在检查和显示包含单词的列的名称的最后一步停止。。 我只是一个初学者,所以编程最后的步骤对我来说很难。有人能帮我吗??? 现在如何检查st[]中的每个单词是否存在于表中 他将显示他在中找到的单词和栏目名称,希望能有所帮助C# 检查表中是否存在单词,c#,visual-studio,C#,Visual Studio,我已经建立了一个数据表,如图所示。。我将在一个文本框中插入一个句子,例如:“男孩踢球”我需要检查该句子的每个单词,如果它确实存在于该表中,那么它将在列表框中显示包含该单词的列的名称,例如:(the=>Article)。 我完成了所有步骤,但在检查和显示包含单词的列的名称的最后一步停止。。 我只是一个初学者,所以编程最后的步骤对我来说很难。有人能帮我吗??? 现在如何检查st[]中的每个单词是否存在于表中 他将显示他在中找到的单词和栏目名称,希望能有所帮助 using System; using
using System;
using System.Data;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
DataTable dt = new DataTable();
DataColumn article = new DataColumn("Article", typeof(string));
dt.Columns.Add(article);
DataColumn noun = new DataColumn("Noun", typeof(string));
dt.Columns.Add(noun);
DataColumn verb = new DataColumn("Verb", typeof(string));
dt.Columns.Add(verb);
DataRow dr = dt.NewRow();
dr["Article"] = "the";
dr["Noun"] = "boy";
dr["Verb"] = "kick";
dt.Rows.Add(dr);
dr = dt.NewRow();
DataRow dd = dt.NewRow();
dd["Article"] = "a";
dd["Noun"] = "ball";
dd["Verb"] = "eat";
dt.Rows.Add(dd);
dd = dt.NewRow();
string s = "the boy eat the ball"; //textBox1.Text;
string[] st = s.Split(' ');
foreach (var str in st)
{
foreach (DataRow rows in dt.Rows)
{
if(str == rows["Article"].ToString())
Console.WriteLine("Word=" + str + " Column=Article");
else if (str == rows["Noun"].ToString())
Console.WriteLine("Word=" + str + " Column=Noun");
else if (str == rows["Verb"].ToString())
Console.WriteLine("Word=" + str + " Column=Verb");
}
}
}
}
}
输出:
单词=列=文章
单词=球列=名词
单词=吃列=动词
单词=一列=文章
单词=男孩列=名词
在这种情况下,“if(str==rows[“Article”].ToString())”显示错误:错误1无法将带[]的索引应用于“object”类型的表达式。我已编辑答案以包含完整代码。看看你能不能编译。
using System;
using System.Data;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
DataTable dt = new DataTable();
DataColumn article = new DataColumn("Article", typeof(string));
dt.Columns.Add(article);
DataColumn noun = new DataColumn("Noun", typeof(string));
dt.Columns.Add(noun);
DataColumn verb = new DataColumn("Verb", typeof(string));
dt.Columns.Add(verb);
DataRow dr = dt.NewRow();
dr["Article"] = "the";
dr["Noun"] = "boy";
dr["Verb"] = "kick";
dt.Rows.Add(dr);
dr = dt.NewRow();
DataRow dd = dt.NewRow();
dd["Article"] = "a";
dd["Noun"] = "ball";
dd["Verb"] = "eat";
dt.Rows.Add(dd);
dd = dt.NewRow();
string s = "the boy eat the ball"; //textBox1.Text;
string[] st = s.Split(' ');
foreach (var str in st)
{
foreach (DataRow rows in dt.Rows)
{
if(str == rows["Article"].ToString())
Console.WriteLine("Word=" + str + " Column=Article");
else if (str == rows["Noun"].ToString())
Console.WriteLine("Word=" + str + " Column=Noun");
else if (str == rows["Verb"].ToString())
Console.WriteLine("Word=" + str + " Column=Verb");
}
}
}
}
}