Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                        
                        7年前关闭。
                                                                                            
                
        
我有一个使用一些嵌套if语句的方法,所以我想知道是否有更好的方法来编写相同的逻辑。

例如,我想避免两次

_typologyRepository.Update(typology);
_typologyRepository.Save();


你能指出我正确的方向吗?谢谢

  public void Update(Typology typology, string nameOriginalValue)
  {
        if (typology.Name == nameOriginalValue)
        {
            _typologyRepository.Update(typology);
            _typologyRepository.Save();
        }
        else
        {
            if (IsUniqueName(typology.Name))
            {
                _typologyRepository.Update(typology);
                _typologyRepository.Save();
            }
            else
                _validatonDictionary.AddError("Name", errorMessageNameUnique);
        }
    }

最佳答案

if (typology.Name == nameOriginalValue || IsUniqueName(typology.Name))
{
    _typologyRepository.Update(typology);
    _typologyRepository.Save();
}
else
{
    _validatonDictionary.AddError("Name", errorMessageNameUnique);
}

关于c# - 重写某些嵌套的if语句的选项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11439169/

10-14 14:50