【发布时间】:2013-08-29 04:05:47
【问题描述】:
当我使用 C# 编写一些较旧的代码时,我遇到了一个令我厌烦的代码。
事不宜迟,如下:
private string foo(string _text)
{
/* some manipulation on _text */
return _text = Server.HtmlDecode(_text);
}
让我恼火的是最后一行;我来自 C 背景,我可以理解代码实际上是在尝试返回解码的 _text 变量。赋值运算符的值也是左操作数,所以我可以看到它。
但我仍然觉得它很烦人。
这是我需要习惯的 C# 中的常规练习吗?
对我来说最后一行应该是
return Server.HtmlDecode(_text);
而不是赋值表达式。是否有我不知道的更深层次的 C# 功能?
【问题讨论】:
-
_text绝对不是全局变量,而是方法的参数。 -
作业真的有必要吗?之后您将无法对
_text执行任何操作,而且它很可能超出范围。 -
@lc。这就是我部分要求的;如果它有任何意义。根据我收集到的信息,我想不会。
-
@JaceKim 不这么认为。它可能从
_text是一个字段的时候重构,在这种情况下foo会设置_text的值并返回值? -
@lc。不幸的是,这是一个新的承诺。无论如何,问题已经得到解答,我很满意。谢谢大家。
标签: c# string return variable-assignment operator-keyword