有没有更好的方法来重构此方法?

时间:2019-02-28 03:28:36

标签: c#

如果布尔值为true,并且数组的长度不等于27,或者数组的值25为空,则该方法应返回false。

如果布尔值为false且数组长度不等于28或数组值为26为空,则该方法也应返回false

  private static bool IsValid(string[] values, bool isFullFile)
        {
            if (isFullFile && (values.Length != 27 || values[24] == string.Empty))
            {
                return false;
            }

            if (!isFullFile && (values.Length != 28 || values[25] == string.Empty))
            {
                return false;
            }

            return true;
        }

1 个答案:

答案 0 :(得分:2)

可以简化为使用Expression body definition

private static bool IsValid(string[] values, bool isFullFile)
    => isFullFile 
        ? (values.Length == 27 && values[24] != string.Empty) 
        : (values.Length == 28 && values[25] != string.Empty);

(请原谅我回答,因为这确实属于代码审查。)