C# 存储为变量vs不带变量

C# 存储为变量vs不带变量,c#,performance,variables,memory-management,C#,Performance,Variables,Memory Management,下面这两种方法有什么区别吗?抛开代码可读性不谈,Method1会消耗更少的内存,而Method2会执行得更快吗 一般来说,我应该始终使用哪一个 一般来说,我更喜欢method2,因为这样可以消除反复操作的必要性 但最终这是一个微观优化。由于操作创建了一个新字符串,您可能会发现method2稍好一些 但最后,如果你想知道两匹马中哪一匹跑得最快,就去比赛。一般来说,我更喜欢method2,因为这样你就不必反复重复这个操作了 但最终这是一个微观优化。由于操作创建了一个新字符串,您可能会发现method

下面这两种方法有什么区别吗?抛开代码可读性不谈,
Method1
会消耗更少的内存,而
Method2
会执行得更快吗

一般来说,我应该始终使用哪一个


一般来说,我更喜欢
method2
,因为这样可以消除反复操作的必要性

但最终这是一个微观优化。由于操作创建了一个新字符串,您可能会发现
method2
稍好一些


但最后,如果你想知道两匹马中哪一匹跑得最快,就去比赛。

一般来说,我更喜欢
method2
,因为这样你就不必反复重复这个操作了

但最终这是一个微观优化。由于操作创建了一个新字符串,您可能会发现
method2
稍好一些


但是最后,如果你想找出两匹马中哪一匹跑得最快,就去比赛。

如果用户输入是“optionb”,方法2会更好,如果用户输入是“optiona”比平均值多,方法1和方法2将没有明显的区别。

如果用户输入是“optionb”,方法2会更好,如果用户输入是“optiona”与平均水平相比,方法1和方法2没有明显区别。

我也更喜欢方法2。但不是因为@David提到的性能原因

方法2更容易阅读

使用临时变量会在方法中添加一行额外内容。这个额外的行反映了方法中实际发生的额外操作步骤

特别是当您给这个变量一个有意义的名称“modifiedInput”时,其他程序员将更容易理解您的方法在做什么


易于理解的代码意味着更好的可维护性

我也更喜欢方法2。但不是因为@David提到的性能原因

方法2更容易阅读

使用临时变量会在方法中添加一行额外内容。这个额外的行反映了方法中实际发生的额外操作步骤

特别是当您给这个变量一个有意义的名称“modifiedInput”时,其他程序员将更容易理解您的方法在做什么

易于理解的代码意味着更好的可维护性

Method2
中,您可以“保存”一个对
userInput.ToLower()的调用。在
Method2
中,您可以“保存”一个对
userInput.ToLower()的调用。这真的没什么区别。
    public void Method1(string userInput)
    {
        if (userInput.ToLower().Replace(" ", "") == "optiona")
        {

        }

        else if (userInput.ToLower().Replace(" ", "") == "optionb")
        {

        }

        else
        {

        }
    }

    public void Method2(string userInput)
    {
        string modifiedInput = userInput.ToLower().Replace(" ", "");

        if (modifiedInput == "optiona")
        {

        }
        else if (modifiedInput == "optionb")
        {

        }
        else
        {

        }
    }