gpt4 book ai didi

c# - 在 C# 中,我应该重用函数/属性参数来计算更清晰的临时值还是创建临时变量?

转载 作者:太空宇宙 更新时间:2023-11-03 18:18:15 25 4
gpt4 key购买 nike

下面的例子可能没有问题,但它应该足以说明一个观点。想象一下,除了修剪之外还有很多工作要做。

public string Thingy 
{
set
{
// I guess we can throw a null reference exception here on null.
value = value.Trim(); // Well, imagine that there is so much processing to do
this.thingy = value; // That this.thingy = value.Trim() would not fit on one line
...

所以,如果赋值必须占用两行,那么我要么必须滥用参数,要么创建一个临时变量。我不是临时变量的忠实粉丝。另一方面,我不喜欢复杂的代码。我没有包含涉及函数的示例,但我相信您可以想象。我担心的一个问题是,如果一个函数接受了一个字符串并且参数被“滥用”,然后有人将签名更改为 ref在这两个地方 - 这应该把事情搞砸了,但是......如果它已经在没有裁判的情况下工作,谁会故意做出这样的改变?在这种情况下,似乎这是他们的责任。如果我弄乱了 value 的值,我在做一些不重要的事情吗?如果您认为这两种方法都可以接受,那么您更喜欢哪一种,为什么?

谢谢。

编辑 :当我说我不喜欢临时变量时,这就是我的意思。我不喜欢这样的代码:
string userName = userBox.Text;
if (userName.Length < 5) {
MessageBox.Show("The user name " + userName + " that you entered is too short.");
....

同样,这可能不是向用户传达问题的最佳方式,但这只是一个说明。变量 userName在这种情况下,我强烈认为没有必要。我并不总是反对临时变量,但是当它们的使用非常有限并且它们不能节省那么多打字时,我强烈不喜欢使用它们。

最佳答案

首先,这没什么大不了的。

但我会在这里介绍一个临时变量。它不花钱,也不容易出错。想象一下有人必须稍后维护代码。如果值(value)只有一个意义和目的,那就更好了。

不要叫它temp ,叫它cleanedValue或者其他的东西。

关于c# - 在 C# 中,我应该重用函数/属性参数来计算更清晰的临时值还是创建临时变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2970047/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com