Nic*_*ick 6 .net c# language-features
我有这个功能:
public bool IsValidProduct(int productTypeId)
{
bool isValid = false;
if (productTypeId == 10 ||
productTypeId == 11 ||
productTypeId == 12)
{
isValid = true;
}
return isValid;
}
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有更简单的方法来编写它,例如:
public bool IsValidProduct(int productTypeId)
{
bool isValid = false;
if (productTypeId.In(10,11,12))
{
isValid = true;
}
return isValid;
}
Run Code Online (Sandbox Code Playgroud)
我知道我可以编写一个扩展方法来处理这个问题,我只是好奇是否已经存在某些东西或者是否有更好的方法来编写它.
不,我不相信,但你可以写一个像这样的扩展方法,它允许你的代码完全按照书面的方式工作.
public static bool In<T>(this T source, params T[] args) {
return args.Contains(source);
}
Run Code Online (Sandbox Code Playgroud)
虽然数组开销有点多.您可能希望为较小的固定数量的参数添加特殊情况.
归档时间: |
|
查看次数: |
265 次 |
最近记录: |