C# 中的每个类或结构都可隐式继承 <xref:System.Object> 类。

因此,C# 中的每个对象都会获取 <xref:System.Object.ToString%2A> 方法,该方法返回该对象的字符串表示形式。 例如,类型为 int 的所有变量都有一个 ToString 方法,使它们可以将其内容作为字符串返回:

int x = ;
string strx = x.ToString();
Console.WriteLine(strx);
// Output:
//

创建自定义类或结构时,应替代 <xref:System.Object.ToString%2A> 方法,以向客户端代码提供有关你的类型的信息。

若要深入了解如何通过 ToString 方法使用格式字符串和其他类型的自定义格式设置

注:决定通过此方法提供信息内容时,请考虑你的类或结构是否会被不受信任的代码使用。 请务必确保不提供可能被恶意代码利用的任何信息。

替代类或结构中的 ToString 方法

  1. 声明具有下列修饰符和返回类型的 ToString 方法:

    public override string ToString(){}
  2. 实现该方法,使其返回一个字符串。

    下面的示例返回类的名称,但特定于该类的特定实例的数据除外。

     class Person
    {
    public string Name { get; set; }
    public int Age { get; set; } public override string ToString()
    {
    return "Person: " + Name + " " + Age;
    }
    }

    可以测试 ToString 方法,如以下代码示例所示:

    Person person = new Person { Name = "John", Age =  };
    Console.WriteLine(person);
    // Output:
    // Person: John 12

作者:耑新新,发布于  博客园

转载请注明出处,欢迎邮件交流:zhuanxinxin@aliyun.com

C#重写ToString的更多相关文章

  1. 重写toString()方法来描述一个类

    package com.zch.test; /* toString方法以及重写toString方法 toString方法是一个自我描述方法 方法本身返回的是该对象的实现类的 类名 + @ + hash ...

  2. C#...何时需要重写ToString()方法?

    一般类型,都是继承自System.Object类,默认情况下,object类的ToString方法会返回当前类的类型的字符串表达形式.但也有例外!! DateTime,它就重写ToString方法,D ...

  3. [非技术参考]C#重写ToString方法

    C# 中的每个类或结构都隐式继承 Object 类. 因此,C# 中的每个对象都会获得 ToString 方法,此方法返回该对象的字符串表示形式. 例如,所有 int 类型的变量都有一个 ToStri ...

  4. 写一个类时什么时候需要重写toString

    一般需要打印出来的时候需要重写toString方法 例如:User.java类 public class User { private String name; @Value(value=" ...

  5. Effective Java 第三版——12. 始终重写 toString 方法

    Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...

  6. java 中重写toString()方法

    toString()方法 一般出现在System.out.println(类名.toString()); toString()是一种自我描述方法 本身返回的是 getClass().getName() ...

  7. 重写toString()

    重写Object的toString()之前,得到的结果是  类型 @ 内存地址 demo: package cn.sasa.demo1; public class Test { public stat ...

  8. 为什么java实体类需要重写toString方法

    如果没重写toString的情况: Object 类的 toString 方法 返回一个字符串,该字符串由类名(对象是该类的一个实例).at 标记符“@”和此对象哈希码的无符号十六进制表示组成.换句话 ...

  9. Java重写toString和泛型的使用

    一.在一个类中重写toString方法 public class Person { private String name; private int age; public Person() { } ...

  10. java重写toString方法

    在输出对象属性时,重写toString按照你希望的输出形式重写 object类里的toString只是把字符串的直接打印,数字的要转化成字符再打印,而对象,则直接打印该对象的hash码.所以当你要想按 ...

随机推荐

  1. hihocoder #1162 矩阵加速dp

    #1162 : 骨牌覆盖问题·三 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 前两周里,我们讲解了2xN,3xN骨牌覆盖的问题,并且引入了两种不同的递推方法.这一次我 ...

  2. R语言:克里金插值

    基于空间自相关,R语言克里金插值 library(gstat) Warning message: In scan(file = file, what = what, sep = sep, quote ...

  3. Java基础-IO流对象之字符类(FileWrite与FileReader)

    Java基础-IO流对象之字符类(FileWrite与FileReader) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.常见编码简介 1>ASCII 我们知道计算机是 ...

  4. day9 类、对象、包

    结构化编程中,程序围绕要解决的问题来设计. 面向对象编程,围绕要解决问题的对象来设计. 万物皆对象,对象因关注而产生!!! 类——抽取具有相同属性和行为的对象. 属性就是对象身上的值数据,行为就是对象 ...

  5. java反射机制的理解

    反射机制是什么概念?大多都有介绍,指的是程序在运行状态中,能够加载一个只有类名的类,加载完之后会在堆上产生一个Class对象.通过这个 Class对象可以获得类的属性.方法和其他类信息.之前对反射的应 ...

  6. openstack指南

    1.openstack官网 http://www.openstack.org/ 2.openstack源码地址 https://github.com/openstack 3.openstack的pac ...

  7. 列表函数&方法

    列表(list)的基本操作,方法及属性.

  8. Electron build 无法下载 winCodeSign 等资源

    将 7z 文件下载到 以下 cache 目录并解压 macOS: ~/Library/Caches/electron-builder Linux: ~/.cache/electron-builder ...

  9. Dream------Java--ant zip 对压缩文件进行指定位置的修改

    ant zip 对压缩文件进行指定位置的修改 实现功能: 对2中文件进行修改: 需求: 在XX文件中,从二进制流的200字节位置开始,往后的30位字节数量.插入一个值 由于涉及到公司内部,不方便写太多 ...

  10. oggMonitor是什么

    goldengate monitor是一套监控goldengate的软件,如果安装的ogg比较多,使用goldengate monitor可以清楚的看见全部OGG的每个进程运行状态,以及整个OGG的架 ...