C# 重构(简单)语句

C# 重构(简单)语句,c#,refactoring,C#,Refactoring,我想重构一个方法,但我不太确定如何重构,但我知道你可以做到 我目前的方法是: public bool AdminShutdown(int accountID, int accountPin) { var status = false; if (accountID == AdminLogin && accountPin == AdminPin) { status

我想重构一个方法,但我不太确定如何重构,但我知道你可以做到

我目前的方法是:

public bool AdminShutdown(int accountID, int accountPin)
        {
            var status = false;
            if (accountID == AdminLogin && accountPin == AdminPin)
            {
                status = true;
            }

            return status;
        }
我想应该是这样的 var status=accountID==AdminLogin&&accountPin==AdminPin,但这不起作用。运算符“&&”不能应用于类型为“bool”和“int”的操作数

建议

还有,这个代码行吗

var tempReturnPerson = AccountHoldersList.Single((x => x.AccountNumber == accountId));
而不是:

public AccountHolders ReturnAccountInfo(int accountId)
        {
            //use linq to do this later
            var returnPerson = new AccountHolders();
            foreach (var person in AccountHoldersList)
            {
                if (accountId == person.AccountNumber)
                {
                    returnPerson = person;
                    break;
                }
            }

            return returnPerson;
        }

如果AdminLogin和AdminPin为int,则

public bool AdminShutdown(int accountID, int accountPin)
{
    return (accountID == AdminLogin && accountPin == AdminPin);
}
您收到的错误消息使我认为您可能使用了=而不是==

编辑

关于你的第二个问题

var tempReturnPerson = AccountHoldersList.Single((x => x.AccountNumber == accountId));
宁可

var tempReturnPerson = AccountHoldersList.FirstOrDefault(x => x.AccountNumber == accountId) ?? new AccountHolders();

如果希望得到与方法相同的结果。

accountID==AdminLogin&&accountPin==AdminPin可以简单地计算为bool

public bool AdminShutdown(int accountID, int accountPin)
{
    return (accountID == AdminLogin && accountPin == AdminPin)
}

AdminLogin和AdminPin的类型是什么?该错误消息没有任何意义。您最初是否在if块的某个地方键入了=而不是==呢?Ad PS-最好是SingleOrDefault。。。因为如果谓词不是空的,它将返回nullmatched@amnezjak如果return为null,则使用新元素代替FirstOrDefault。我们不知道重写方法中的single。有点像主题,但是,您可能需要研究类的命名。类别AccountHolder是否包含多个帐户?如果不是,则应命名为AccountHolder。也就是说,Holder并没有传达任何有意义的信息,所以我称之为类账户。与AccountHoldersList相同,变量名中不需要类型名。只要说出一个或多个帐户。出于类似的原因,我将ReturnAccountInfo重命名为GetAccount。最后但并非最不重要的一点是,通过用户id识别管理员似乎不是一个很好的主意。我希望有一个枚举,并将其添加到帐户类谢谢:。当你的回答让我满意时,我会接受的