以下语句如何用linq优美的优化一下?

fywindy 2015-09-18 04:01:07
  public int ElementAlarmLimitMaching(string key, int index, float value)
{
if (HCSysCommonDatas.ElementLimit.ContainsKey(key))
{
LimitData ElementLimit = HCSysCommonDatas.ElementLimit[key];
if (ElementLimit.TopLimit != 0 && ElementLimit.LowLimit != 0)
{
if (ElementLimit.TopLimit != ElementLimit.LowLimit)
{
if (value > ElementLimit.TopLimit)
{
ElementLimitValue = value - ElementLimit.TopLimit;
return (int)Resources.ElementLimitResult.TopLimit;
}
else if (value < ElementLimit.LowLimit)
{
ElementLimitValue = ElementLimit.LowLimit - value;
return (int)Resources.ElementLimitResult.LowLimit;
}
}
else
{
return (int)Resources.ElementLimitResult.NoLimit;
}
}
else
{
return (int)Resources.ElementLimitResult.Normal;
}
}
return (int)Resources.ElementLimitResult.Normal;
}
...全文
170 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
devmiao 2015-09-19
  • 打赏
  • 举报
回复
没有集合,没有循环,没法用linq
  • 打赏
  • 举报
回复
public int ElementAlarmLimitMaching(string key, int index, float value)
        {
int result =  (int)Resources.ElementLimitResult.Normal;
            if (HCSysCommonDatas.ElementLimit.ContainsKey(key))
            {
                LimitData ElementLimit = HCSysCommonDatas.ElementLimit[key];
                if (ElementLimit.TopLimit != 0 && ElementLimit.LowLimit != 0)
                {result =  (int)Resources.ElementLimitResult.NoLimit;
                    if (ElementLimit.TopLimit != ElementLimit.LowLimit)
                    {
                        if (value > ElementLimit.TopLimit)
                        {
                            ElementLimitValue = value - ElementLimit.TopLimit;
                            result = (int)Resources.ElementLimitResult.TopLimit;
                        }
                        else if (value < ElementLimit.LowLimit)
                        {
                            ElementLimitValue = ElementLimit.LowLimit - value;
                             result = (int)Resources.ElementLimitResult.LowLimit;
                        }
                    }
                }
            }
            return result;
        }
ajianchina 2015-09-18
  • 打赏
  • 举报
回复
linq是用于查询的,你这个过程基本上跟linq扯不上关系,没必要为了实现而实现,不过我看着这么多if跟括号,有强迫症的可能心里不输入,如果我来写的话,可能不去这样写。
fywindy 2015-09-18
  • 打赏
  • 举报
回复
引用 2 楼 shingoscar 的回复:
挺美的呀,楼主有什么不满意的
因为,不会用linq,呵呵
mingcsharp 2015-09-18
  • 打赏
  • 举报
回复
莫非是想用链式写法?
Poopaye 2015-09-18
  • 打赏
  • 举报
回复
挺美的呀,楼主有什么不满意的
  • 打赏
  • 举报
回复
你这个猜测是个字典,跟linq有啥关系……

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧