我正在尝试使用WriteLine在控制台应用中显示列表的内容。我使用以下代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TestCLient.ClientTransactionsServiceReference;
namespace TestCLient
{
class Program
{
static void Main(string[] args)
{
ClientTransactionsServiceClient client = new ClientTransactionsServiceClient();
List<ClientTransactions> ct = client.GetClientTransactions("9999");
ct.ForEach(i => Console.Write(i));
Console.Read();
}
}
}
我得到以下输出:
当我调试时,我的列表(ct)显示它包含我想要显示的字段。请参阅以下屏幕截图:
我搜索了许多来源,包括Stack,以获取我用于编写列表的代码行。我是编程新手,非常感谢你的帮助。
谢谢
答案 0 :(得分:4)
Console.Write
隐含地在您尝试在控制台中打印的对象上调用ToString()
。由于您的类型不会覆盖ToString()
,因此返回的文本是ToString()
类(所有类型派生自此类)定义的Object
的默认实现的结果。
而不是将i
作为参数传递给Console.Write
传递i.NameOfThePropertyYouWantToOutput
。
答案 1 :(得分:1)
您要么打印出您需要的每个属性..或者更好的是,覆盖ToString()
方法并在以下代码中调用它:
ct.ForEach(i => Console.Write(i.ToString()));
答案 2 :(得分:0)
由于您要输出ClientTransactions
的实例,因此需要指定如何在控制台上呈现信息。您可以输出此实例的一个或多个属性,也可以覆盖ToString()
方法。
答案 3 :(得分:-1)
您尝试将对象解析为字符串。
如果要将对象正确显示到控制台,则需要显示客户端对象的成员。
ct.ForEach(i => Console.Write(i.Name )); // exemple
Console.Read();