gpt4 book ai didi

c# - 使用 C# 6 简化条件表达式

转载 作者:太空宇宙 更新时间:2023-11-03 18:59:57 29 4
gpt4 key购买 nike

我有以下条件:

Int32 pageSize = query.PageSize == null
? _apiSettings.DefaultPageSize
: (query.PageSize > _apiSettings.PageSizeLimit
? _apiSettings.PageSizeLimit
: query.PageSize.Value);

是否可以使用 C# 6 来简化此表达式?

最佳答案

很明显,该声明非常复杂,我想您需要在那里进行所有检查。在我看来,在同一行中两次使用三元运算符只会让它变得不可读。

为了使其更具可读性(并因此以某种方式简化它),我只是将逻辑提取为这样的方法:

Int32 pageSize = GetPageSize(query.PageSize);

...

In32 GetPageSize(Int32 queryPageSize)
{
if (queryPageSize == null)
return _apiSettings.DefaultPageSize;

if (queryPageSize > _apiSettings.PageSizeLimit)
return _apiSettings.PageSizeLimit;

return queryPageSize;
}

关于c# - 使用 C# 6 简化条件表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37630330/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com