C# 打印列表<;对象>;在控制台c中#

C# 打印列表<;对象>;在控制台c中#,c#,list,object,C#,List,Object,当我试图用c#打印对象列表时,它不会打印我想要的内容,让我演示一下 例如: public class Classname { public string hello; public string world; } namespace inloggning { class Program { static void Main(string[] args) {

当我试图用c#打印对象列表时,它不会打印我想要的内容,让我演示一下

例如:

public class Classname
    {
        public string hello;
        public string world;

        
    }

namespace inloggning
{

    class Program
    {
        static void Main(string[] args)
        {
            List<object> listOfObjects = new List<object>();

            Classname example = new Classname();
            example.hello = "hello";
            example.world = "world";

            listOfObjects.Add(example);

            Console.WriteLine(listOfObjects[0]);

        }

    }
}
公共类类名
{
公共字符串你好;
公共弦世界;
}
名称空间内登录
{
班级计划
{
静态void Main(字符串[]参数)
{
List listOfObjects=新列表();
Classname示例=新的Classname();
example.hello=“hello”;
example.world=“world”;
添加(示例);
Console.WriteLine(ListoObject[0]);
}
}
}

当我运行这个程序时,它会打印出“inloggning.Classname”。有人能帮我理解为什么以及如何修复它,使它打印“hello”和“world”。

向对象添加一个toString方法,就像这样

public string overide ToString()
{
return hello + " " + world;
}

编辑:

如下更改WriteLine语句:


Console.WriteLine(((ClassName)listofoobjects[0]).hello+(ClassName)listofoobjects[0]).world)

,因为您没有覆盖
到字符串
:。或者,您必须明确指定要打印到Console的成员必须实现
ToString()
这将起作用。背景:在C#中,类上的
ToString
方法确定在登录控制台时打印到控制台的内容。默认情况下,对于所有类,这只是写入类名。您可以重写它以显示更有用的内容。如果要为具有多个属性的对象编写更少的代码,您还可以序列化为JSON并将其记录到控制台。仅供参考,您的方法声明中缺少返回类型。如果字符串尚未识别,您是否仍然认为我可以这样做。@Edward编码程序如果您尝试将空字符串连接到字符串,空值将替换为空字符串,因此它不会出错,但您可能只会从该方法返回一个空格。谢谢你的回答!这真的很有帮助。现在我想知道是否有一种方法可以打印ListoObjects列表中的所有对象。使用foreach或类似的东西?欢迎使用:
for(var i=0;i