C# 查找文本中datagridview列的每个值的引用,并将每个引用显示到下一列
我这里有个问题。我试图显示datagridview列“值”中的每个字符串出现的次数。我试图在每个值旁边显示每个事件(例如,我想要这个:71->4,83->7,0B->6等等)。这是我的密码。我只拿第一个作为结果。提前谢谢C# 查找文本中datagridview列的每个值的引用,并将每个引用显示到下一列,c#,datagridview,find-occurrences,C#,Datagridview,Find Occurrences,我这里有个问题。我试图显示datagridview列“值”中的每个字符串出现的次数。我试图在每个值旁边显示每个事件(例如,我想要这个:71->4,83->7,0B->6等等)。这是我的密码。我只拿第一个作为结果。提前谢谢 private void button4_Click(object sender, EventArgs e) { string Text = richTextBox1.Text; string[] words = Text.Sp
private void button4_Click(object sender, EventArgs e)
{
string Text = richTextBox1.Text;
string[] words = Text.Split(' ');
foreach (string word in words)
{
dataGridView1.Rows.Add(word);
}
string searchTerm = " " ;
foreach (DataGridViewRow r in dataGridView1.Rows )
{
if (searchTerm == null || searchTerm == String.Empty || searchTerm.Trim().Length == 0)
{
searchTerm = r.Cells["Value_Detected"].Value.ToString();
var matchQuery = from wor in words
where wor.ToUpperInvariant() == searchTerm.ToUpperInvariant()
select wor;
int wordCount = matchQuery.Count();
r.Cells["Occur"].Value = wordCount.ToString();
}
}
button4.Enabled = false;
}
而不是
if (searchTerm == null || searchTerm == String.Empty || searchTerm.Trim().Length == 0)
应该是:
if (r.Cells["Value_Detected"].Value != null)
循环中的“如果”条件是什么?这使得块只运行一次。如果我不使用NullException的“If”错误。。。你知道一种方法,我可以把它转换成我想要的结果吗?我对编程完全是新手,所以任何帮助都是完美的,“如果”都没有意义。哪一行抛出空引用异常?如果是从单元格中获取值的行,则需要在调用.ToString方法之前检查值是否不为null。非常感谢。效果很好,帮了大忙。祝您有个美好的一天。