检查列表框中的每个项目是否大于5

时间:2017-03-02 15:00:31

标签: c#

我必须在列表框中输入成绩,然后查看它们是否大于5.如果它们大于5则存储那些。 这是我到目前为止所得到的......

start_urls = ["www.website1.com", "www.website2.com", "www.website3.com", "www.website4.com"]

allow_domains = []
deny_domains = []

for link in start_urls

    # strip http and www
    domain = link.replace('http://', '').replace('https://', '').replace('www.', '')
    domain = domain[:-1] if domain[-1] == '/' else domain

    allow_domains.extend([domain])
    deny_domains.extend([domain])


rules = (
    Rule(LinkExtractor(allow_domains=allow_domains, deny_domains=()), callback='parse_internal', follow=True),
    Rule(LinkExtractor(allow_domains=(), deny_domains=deny_domains), callback='parse_external', follow=False),
)

3 个答案:

答案 0 :(得分:0)

您可以使用Linq

bool bigger = listBox.Items.OfType<int>().Where(x => x > 5);

使用

将结果转换为列表可能很有用
List<int> filtered = listBox.Items.OfType<int>().Where(x => x > 5).ToList();

答案 1 :(得分:0)

你可以这样做:

 var largerThan5 = listBox.Items.Where(I => int.Parse(I.ToString()) > 5).ToList();

答案 2 :(得分:0)

你不能将LINQ用作listBox.Items没有实现IEnumerable。

以此为例:

        for (var pos = 0; pos < listBox1.Items.Count; pos++)
        {
            int value;
            if (int.TryParse(listBox1.Items[pos]?.ToString(), out value) && value >= 5)
                Debug.WriteLine($"Index: {pos}, Value: {value}");
        }