Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用列表时尝试打印列表的内容<;类别>;_C#_List - Fatal编程技术网

C# 使用列表时尝试打印列表的内容<;类别>;

C# 使用列表时尝试打印列表的内容<;类别>;,c#,list,C#,List,我有一个包含两个变量的类:名称、地址 我实例化该类,向其添加值,并尝试将其存储在列表中。一旦我这样做,我希望在控制台上打印姓名和地址,但我不确定我做错了什么: public class Test { public string Name { set; get; } public string Address { set; get; } } static void Main(string[] args) { Test t = new Test();

我有一个包含两个变量的类:名称、地址

我实例化该类,向其添加值,并尝试将其存储在列表中。一旦我这样做,我希望在控制台上打印姓名和地址,但我不确定我做错了什么:

public class Test
{
    public string Name { set; get; }
    public string Address { set; get; }
}

static void Main(string[] args)
    {
        Test t = new Test();

        t.Name = "bob";
        t.Address = "CT";

        List<Test> lst = new List<Test>();

        lst.Add(t);

        foreach (var x in lst)
        {
            Console.WriteLine(x);
        }
  }
公共类测试
{
公共字符串名称{set;get;}
公共字符串地址{set;get;}
}
静态void Main(字符串[]参数)
{
测试t=新测试();
t、 Name=“bob”;
t、 地址=“CT”;
List lst=新列表();
第1条增补(t);
foreach(lst中的变量x)
{
控制台写入线(x);
}
}

执行此操作时,我只需获取项目的名称。ClassName

您需要访问for循环中的name属性

foreach (var x in lst)
{
    Console.WriteLine(x.Name);
}

您需要访问for循环中的Name属性

foreach (var x in lst)
{
    Console.WriteLine(x.Name);
}

简单地说,重写
ToString
,其他一切都应该按照您的预期工作

例如:

class Test
{
     public string Name { set; get; }
     public string Address { set; get; }

     public override string ToString(){
         return $"name: {Name}, address: {Address}";
     }
}

简单地说,重写
ToString
,其他一切都应该按照您的预期工作

例如:

class Test
{
     public string Name { set; get; }
     public string Address { set; get; }

     public override string ToString(){
         return $"name: {Name}, address: {Address}";
     }
}

您可以在课堂上使用
ToString
。将类实例传递到
控制台.WriteLine
函数时,将调用此
ToString
-函数。 有关更多信息,请查看和的文档

公共类测试
{
公共字符串名称{set;get;}
公共字符串地址{set;get;}
公共重写字符串ToString()
{
返回$“Name:{Name}地址:{Address}”;
}
}
静态void Main(字符串[]参数)
{
测试t=新测试();
t、 Name=“bob”;
t、 地址=“CT”;
List lst=新列表();
第1条增补(t);
foreach(lst中的变量x)
{
控制台写入线(x);
}
}
这将输出:

姓名:鲍勃地址:CT


您可以在课堂上使用
ToString
。将类实例传递到
控制台.WriteLine
函数时,将调用此
ToString
-函数。 有关更多信息,请查看和的文档

公共类测试
{
公共字符串名称{set;get;}
公共字符串地址{set;get;}
公共重写字符串ToString()
{
返回$“Name:{Name}地址:{Address}”;
}
}
静态void Main(字符串[]参数)
{
测试t=新测试();
t、 Name=“bob”;
t、 地址=“CT”;
List lst=新列表();
第1条增补(t);
foreach(lst中的变量x)
{
控制台写入线(x);
}
}
这将输出:

姓名:鲍勃地址:CT


对我来说,我会用这个

      static void Main(string[] args)
      {
        Test t = new Test();

        t.Name = "bob";
        t.Address = "CT";

        List<Test> lst = new List<Test>();
        lst.Add(t);
        lst.ForEach(show);
    }

    private static void show(Test obj)
    {
        Console.WriteLine(obj.Name);
        Console.WriteLine(obj.Address);
    }
static void Main(字符串[]args)
{
测试t=新测试();
t、 Name=“bob”;
t、 地址=“CT”;
List lst=新列表();
第1条增补(t);
一级福雷赫(表演);
}
私人静态无效显示(测试obj)
{
Console.WriteLine(对象名称);
控制台写入线(对象地址);
}

对于我,我将使用此

      static void Main(string[] args)
      {
        Test t = new Test();

        t.Name = "bob";
        t.Address = "CT";

        List<Test> lst = new List<Test>();
        lst.Add(t);
        lst.ForEach(show);
    }

    private static void show(Test obj)
    {
        Console.WriteLine(obj.Name);
        Console.WriteLine(obj.Address);
    }
static void Main(字符串[]args)
{
测试t=新测试();
t、 Name=“bob”;
t、 地址=“CT”;
List lst=新列表();
第1条增补(t);
一级福雷赫(表演);
}
私人静态无效显示(测试obj)
{
Console.WriteLine(对象名称);
控制台写入线(对象地址);
}

如果您想让它在更新类时动态打印属性,可以使用Json.Net

class Test
{
 public string Name { set; get; }
 public string Address { set; get; }

 public override string ToString()
 {
    return JsonConvert.SerializeObject(this);
 }

}

如果您想让它在更新类时动态打印属性,可以使用Json.Net

class Test
{
 public string Name { set; get; }
 public string Address { set; get; }

 public override string ToString()
 {
    return JsonConvert.SerializeObject(this);
 }

}

我的类中可能有20个变量,并且希望能够使用单个Console.WriteLine一次打印所有变量。有没有办法做到这一点?没有,你需要让每个人都列出所有的值这没关系,但是如果我使用你的eample,我将不得不做一个单独的控制台。WriteLine(x.name),然后是另一个控制台。WriteLine(x.Address)。有没有一种方法可以简单地在一个控制台中打印我的所有变量。WriteLine(x.which),在一个ForEach循环中,您可以覆盖
类上的。默认情况下,
ToString()
返回对象的类名。修改您的类以使用ToString返回值)=我的类中可能有20个变量,并且希望能够使用单个控制台一次性打印所有变量。WriteLine。有没有办法做到这一点?没有,你需要让每个人都列出所有的值这没关系,但是如果我使用你的eample,我将不得不做一个单独的控制台。WriteLine(x.name),然后是另一个控制台。WriteLine(x.Address)。有没有一种方法可以简单地在一个控制台中打印我的所有变量。WriteLine(x.which),在一个ForEach循环中,您可以覆盖
类上的。默认情况下,
ToString()
返回对象的类名。修改类以使用ToString返回值)=