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
{
}
}