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返回值)=