MyData data = new MyData { MyInt = 1, MyString = "Smith" };
MyData data1 = new MyData { MyInt = 3, MyString = "Wesson" };
MyData data2 = new MyData { MyInt = 2, MyString = "Colt" };
List<MyData> lst = new List<MyData>();
lst.Add(data);
lst.Add(data1);
lst.Add(data2);
Console.WriteLine("\nBefore sort:");
foreach (MyData MyInt in lst)
{
Console.WriteLine((MyInt));
Console.WriteLine(lst.ToString());
}
Run Code Online (Sandbox Code Playgroud)
为什么这样表现出来?我期望得到它的内容.两种不同的方式给了我相同的结果.列表填充可能是我错了吗?
默认情况下,您的MyData类使用ToString()继承自它的实现System.Object.该函数返回有关该类的非常通用的信息 - 几乎只是类名,以及有关任何泛型类型参数的一些有限信息.
如果您希望ToString()显示不同的信息,您需要自己覆盖它:
public override string ToString()
{
return String.Format("{0} {1}", MyInt, MyString);
}
Run Code Online (Sandbox Code Playgroud)