首页 > 解决方案 > 获取几个 int 参数的最大值

问题描述

我有一个要读取的参数列表,需要获取它们的最大值。我不是在谈论 List,而是在谈论几个 int 值:

int ColAssComm = Register.getImportExcelDSTV("AssComm")-1;
int ColAssDwg = Register.getImportExcelDSTV("AssDwg") - 1;
int ColAssGpe = Register.getImportExcelDSTV("AssGp") - 1;
int ColAssName = Register.getImportExcelDSTV("AssName") - 1;
int ColAssPrio = Register.getImportExcelDSTV("AssPrio") - 1;
int ColAssPds = Register.getImportExcelDSTV("AssPds") - 1;
int ColAssSurfPaint = Register.getImportExcelDSTV("AssSurfPaint") - 1;
int ColAssQty = Register.getImportExcelDSTV("AssQty") - 1;
int ColRepName = Register.getImportExcelDSTV("RepName") - 1;
int ColRepQty = Register.getImportExcelDSTV("RepQty") - 1;
int ColRepExecutionClass = Register.getImportExcelDSTV("RepExecutionClass") - 1;
int ColRepTreatment = Register.getImportExcelDSTV("RepTreatment");

我需要做类似的事情

int maxvalue = Max(ColAssComm,ColAssDwg..., ColRepTreatment)

有没有办法一次完成所有事情?

标签: c#

解决方案


另一种选择是创建一个通用方法,如下所示:

public T FindMax<T>(params T[] items)
{
    return items.Max();
}

然后您可以将动态数量的参数传递给该方法,因此您可以将示例中的所有变量传递给该方法并取回您想要的任何类型的 MAX,这适用于integersanddoublesdecimals... 等。


推荐阅读