c#ToString(string format) 扩展
在.Net中,System.Object.ToString()是用得最多的方法之一,ToString()方法在Object类中被定义为virtual,Object类给了它一个默认实现:
1 public virtual string ToString()
2 {
3 return this.GetType().ToString();
4 }
2 {
3 return this.GetType().ToString();
4 }
.Net中原生的class或struct,如int,DateTime等都对它进行重写(override),以让它返回更有价值的值,而不是类型的名称。合理重写的ToString()方法中编程、调试中给我们很大方便。但终究一个类只有一个ToString()方法,不能满足我们多样化的需求,很多类都对ToString()进行了重载。如下:
1 string dateString = DateTime.Now.ToString("yyyy"); //2009
2 string intString = 10.ToString("d4"); //0010
2 string intString = 10.ToString("d4"); //0010
int、DateTime都实现了ToString(string format)方法,极大方便了我们的使用。
对于我们自己定义的类型,我们也应该提供一个合理的ToString()重写,如果能够提供再提供一个ToString(string format),就会令我们后期的工作更加简单。试看以下类型:
1 public class People
2 {
3 private List<People> friends = new List<People>();
4
5 public int Id { get; set; }
6 public string Name { get; set; }
7 public DateTime Brithday { get; set; }
8 public People Son { get; set; }
9 public People[] Friends { get { return friends.ToArray(); } }
10
11 public void AddFriend(People newFriend)
12 {
13 if (friends.Contains(newFriend)) throw new ArgumentNullException("newFriend"
2 {
3 private List<People> friends = new List<People>();
4
5 public int Id { get; set; }
6 public string Name { get; set; }
7 public DateTime Brithday { get; set; }
8 public People Son { get; set; }
9 public People[] Friends { get { return friends.ToArray(); } }
10
11 public void AddFriend(People newFriend)
12 {
13 if (friends.Contains(newFriend)) throw new ArgumentNullException("newFriend"
补充:软件开发 , C# ,