如何将对象类型的值存储在数组中并调用它们(C#)?
我上过以下课程:如何将对象类型的值存储在数组中并调用它们(C#)?,c#,arrays,loops,sorting,for-loop,C#,Arrays,Loops,Sorting,For Loop,我上过以下课程: public class Object { public string Name { get; set; } public int Price { get; set; } } 我创建了一个新的对象数组: 对象[]对象=新对象[1] 我给它赋值,Object[0]=newobject(){Name=“T”,Price=32} 但是,当我尝试打印值时,使用foreach如下所示: foreach(var a in Object)
public class Object
{
public string Name { get; set; }
public int Price { get; set; }
}
我创建了一个新的对象数组:
对象[]对象=新对象[1]代码>
我给它赋值,Object[0]=newobject(){Name=“T”,Price=32}
但是,当我尝试打印值时,使用foreach如下所示:
foreach(var a in Object)
Console.WriteLine(a);
我得到Namespace.Object
如何修复此问题并获得每行的名称和价格的实际值并存储其多个值?方法在对象
类中打印实例,并在打印时将对象转换为字符串
//First of all, give meaningful name
public class Product
{
public string Name { get; set; }
public int Price { get; set; }
public override string ToString()
{
return $"Price of product {this.Name} is {this.Price}";
}
}
现在只需迭代每个产品Console.WriteLine()
将在内部调用您在Product
类中重写的ToString()
//Here Products is array of Product object
foreach(var product in Products)
Console.WriteLine(product);
Console.WriteLine()
将尝试将a
转换为字符串,然后调用a.ToString()
如果需要,您可以:
公共类对象
{
公共字符串名称{get;set;}
公共整数价格{get;set;}
公共重写字符串ToString()
{
返回$“[Name:{Name},Price:{Price}]”;
}
}
首先,我建议找一个比对象更好的名称。但是基本上你需要重写ToString
方法。控制台。WriteLine
将在内部调用ToString
,所以你不必显式调用它。哦,我没有意识到。谢谢@juharr每天都是上学的日子;)