检查列表中有多少个字符串实例

本文关键字:字符串 实例 多少 列表 检查 | 更新日期: 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