检查列表中有多少个字符串实例
本文关键字:字符串 实例 多少 列表 检查 | 更新日期: 2023-09-27 17:58:03
我询问了是否可以在列表中找到某些关键字,如果它们都在,那么问题是正确的。在这里找到:检查字符串是否包含列表上的所有输入
我还想知道的是,列表中有多少单词,然后除以它,得到一个百分比,这样用户就知道他们对每个问题的回答有多准确。
public String KeyWords_Found()
{
int Return_Value = 0;
foreach (String s in KeyWords)
{
if (textBox1.Text.Contains(s))
{
Return_Value++;
}
}
int Holder = Return_Value / KeyWords.Count;
int Fixed = Holder * 100;
return Fixed + "%";
}
所以我想让代码检查列表KeyWords
中列出的所有关键字实例。然后除以关键字总数,再乘以100,得到百分比。但它说两个值都是0,我不能除以0。我不知道为什么它们会为零。困惑的帮助
您应该首先检查KeyWords
是否为空或是否为
public String KeyWords_Found()
{
if (KeyWords.Count == 0)
return "0%";
// rest of the code
}
或者您可以使用Linq而不是编写自己的方法:
int nOfOccurences = KeyWords.Where(k => textBox1.Text.Contains(k)).Count();
确保你是using System.Linq;
,这样才能工作。
不过,您仍然需要检查KeyWords.Count == 0
并自己计算百分比。
您应该在计算中使用浮点数学而不是整数数学。
int i=100;
int a=51;
(i/a)==0 //true, integer division sucks for calculating percentages
((double)i/a)==0 //false, actually equals ~1.96