簡體   English   中英

我的 c# 代碼中出現“並非所有代碼路徑都返回值”錯誤

[英]I am getting a 'not all code paths return a value' error in my c# code

我編寫了一個 c# 擴展方法,它返回整數數組中的任何重復值,它告訴我“並非所有代碼路徑都返回一個值”。 這是我的代碼:

public static int? FindDuplicate(this int[] arrayToFindDuplicateIn)
    {

        int previousint = int.MaxValue;
        arrayToFindDuplicateIn = arrayToFindDuplicateIn.OrderByDescending(x => x).ToArray();

        foreach (int number in arrayToFindDuplicateIn)
        {
            if (number == previousint)
            {
                return number;
            }
            else
            {
                return null;
            }

            previousint = number;
        }
    }

如果數組為空,則不返回任何值,因此只需在末尾返回一些內容或使用 arrayToFindDuplicateIn.Any() 檢查輸入數組

我想你想要的是刪除你的 else return null; 並把返回 null; 在你的 foreach 之外。 否則每次只會循環一次。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM