真和假布尔返回值的结构

时间:2019-08-29 22:59:04

标签: c# return-value control-flow

我遇到了一段代码(一个函数),该代码接受一个整数列表并将所有唯一数字放在一个单独的列表中。我知道,如果接受的整数列表包含一个已经在使用所有唯一数字创建的新整数列表中的数字,则返回真值。

我不明白return false语句的位置。令我困惑的是它被放置在foreach语句关闭之后。无论先前是否将其设置为true,这都不会导致返回值为false吗?

public static bool ContainsDuplicates(List<int> numbers)
    {
        var uniques = new List<int>();
        foreach (var number in numbers)
        {
            if (!uniques.Contains(number))
                uniques.Add(number);
            else
                return true;
        }

        return false;
    }

1 个答案:

答案 0 :(得分:1)

当发现一个非唯一编号时,return true指令将立即中止该方法的执行,并返回一个true值,该值指示该列表确实“包含重复项”。

如果执行循环,但未找到重复的数字,则返回false,表示该列表未“包含重复”。