在这种情况下可以重写ToString()方法吗

阳光明媚

我需要能够检索对象的字符串版本。

例如:下面SearchCriteria应提供“ Search Parameters: FromDate:{0}, ToDate {1}, ..

public class SearchCriteria
{
  public string FromDate {get;set;}
  public string ToDate {get;set;}
  public string FromAge {get;set;}
  public string ToAge {get;set;}

  //other 10 properties
}

但是从我读过的其他线程来看,由于性能问题,不建议将ToString()用于长字符串。我想知道是否可以通过这种方式使用它,还是应该考虑使用私有方法。

编辑

此字符串表示形式在业务逻辑中不用于调试目的。

佐洛米·波罗维兹(Shlomi Borovitz)

文档中:“返回代表当前对象的字符串。”

如果要创建一个表示对象的字符串,那就是位置。

所以-是的!

编辑:

“此字符串表示形式在业务逻辑中不用于调试目的。”

的字符串表示int形式也用于业务逻辑。问题是该字符串表示形式是特定于该业务逻辑的,还是仅仅是该对象的一般表示形式,您将在业务逻辑中使用它。

如果特定于该特定业务逻辑,则字符串的生成应该是该业务逻辑的一部分。

如果不是,但是该对象有许多可选的字符串表示形式,则您可能需要实现IFormattable,它定义了一种ToString方法,该方法获取IFormatProviderand格式的字符串作为参数。

否则,常客ToString是您的朋友。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在这种情况下可以实现hashCode()方法吗?

我可以在这种情况下使用枚举吗?

在这种情况下可以更改图标吗?

在这种情况下可以实现Rest Api吗?

Perl:在这种情况下可以跳过中间哈希变量吗?

我可以在这种情况下避免使用纯纯虚函数吗?

在这种情况下,我可以从反应式库中受益吗?

在这种情况下我可以正确使用flex吗?

在这种特殊情况下,我可以使用Nginx作为反向代理吗?

打字稿可以在这种情况下做联合类型断言吗?

在这种情况下,我可以参考该键吗?

C#“使用”语句后跟try语句在这种情况下可以忽略括号吗?

我是C ++的新手,可以在这种情况下解释指针吗

Django:在这种情况下我可以省略“.save(commit=False)”吗?

在这种情况下可以以root用户身份登录吗?

Goto 和代码重复 - 在这种情况下它们可以避免吗?

在这种情况下,我可以避免变异吗?

在这种情况下,itertools可以用于数量不确定的尺寸吗?

SQL-在这种情况下可以避免使用游标吗?

在这种情况下可以使用事件委托吗?

在这种情况下可以避免模板特化吗?

在这种情况下,我需要“默认”语句吗?

在这种情况下使用 SQL PIVOT 吗?

在这种情况下应该使用cron工作吗?

在这种情况下,数组会取消分配吗?

Go:在这种情况下需要频道吗?

在这种情况下真的需要 FlexibleContexts 吗?

Swift在这种情况下会复制突变吗?

在这种情况下eval()是邪恶的吗?