以下语句怎么用linq优美的优化一下

以下语句如何用linq优美的优化一下?
  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;
        }

------解决思路----------------------
没有集合,没有循环,没法用linq