在 ToString 覆盖方法中显示列表
Show a list in ToString override method
我想知道是否可以在 public override string ToString()
方法中显示一个列表,所以当我列出所有属性时,我也可以在那里看到 List<>
的每个元素。
这是我的ToString()
方法:
public override string ToString()
{
return this.Employees; //Here would be the list
}
这将是具有我希望列出的属性的 Employees 的构造函数。
例如:员工:John Doe,员工:Brian Johnson,员工:Eric Dunn。
public Employee(string fullname)
{
this.FullName = fullname;
}
您可以尝试覆盖 ToString
,如下所示:
public override string ToString()
{
return string.Join(",", this.Employees
.Select(employee => $"Employee: {employee.FullName}"));
}
如果我正确理解您的要求,下面的 类 覆盖 .ToString() 将解决您的问题。在这里,我使用了两个 类,一个包含员工详细信息,另一个包含第一个列表 类
public class Employee
{
public int EmpCode { get; set; }
public string FullName { get; set; }
public override string ToString()
{
return String.Format("Employee Code : {0} \n Employee Full Name : {1}", this.EmpCode, this.FullName);
}
}
public class EmployList
{
public List<Employee> EmployeeList = new List<Employee>();
public override string ToString()
{
StringBuilder strBuilder = new StringBuilder();
foreach (var item in EmployeeList)
{
strBuilder.AppendLine(item.ToString());
}
return strBuilder.ToString();
}
}
如何使用上面的类
EmployList listObject = new EmployList();
listObject.EmployeeList.Add(new Employee(){EmpCode=1,FullName="suji"});
listObject.EmployeeList.Add(new Employee(){EmpCode=11,FullName="jon"});
listObject.EmployeeList.Add(new Employee(){EmpCode=12,FullName="anu"});
listObject.EmployeeList.Add(new Employee(){EmpCode=13,FullName="achu"});
Console.WriteLine(listObject.ToString());
public override string ToString()
{
StringBuilder t = new StringBuilder();
foreach(Employee e in this.Employees)
t.AppendLine (string.Format ("Employee: {0}",e.Fullname));
return t.ToString ();
}
或
public override string ToString ()
{
return String.Join ("Employee: ", this.Employees.Select (e => e.Fullname).ToArray<string>());
}
我想知道是否可以在 public override string ToString()
方法中显示一个列表,所以当我列出所有属性时,我也可以在那里看到 List<>
的每个元素。
这是我的ToString()
方法:
public override string ToString()
{
return this.Employees; //Here would be the list
}
这将是具有我希望列出的属性的 Employees 的构造函数。 例如:员工:John Doe,员工:Brian Johnson,员工:Eric Dunn。
public Employee(string fullname)
{
this.FullName = fullname;
}
您可以尝试覆盖 ToString
,如下所示:
public override string ToString()
{
return string.Join(",", this.Employees
.Select(employee => $"Employee: {employee.FullName}"));
}
如果我正确理解您的要求,下面的 类 覆盖 .ToString() 将解决您的问题。在这里,我使用了两个 类,一个包含员工详细信息,另一个包含第一个列表 类
public class Employee
{
public int EmpCode { get; set; }
public string FullName { get; set; }
public override string ToString()
{
return String.Format("Employee Code : {0} \n Employee Full Name : {1}", this.EmpCode, this.FullName);
}
}
public class EmployList
{
public List<Employee> EmployeeList = new List<Employee>();
public override string ToString()
{
StringBuilder strBuilder = new StringBuilder();
foreach (var item in EmployeeList)
{
strBuilder.AppendLine(item.ToString());
}
return strBuilder.ToString();
}
}
如何使用上面的类
EmployList listObject = new EmployList();
listObject.EmployeeList.Add(new Employee(){EmpCode=1,FullName="suji"});
listObject.EmployeeList.Add(new Employee(){EmpCode=11,FullName="jon"});
listObject.EmployeeList.Add(new Employee(){EmpCode=12,FullName="anu"});
listObject.EmployeeList.Add(new Employee(){EmpCode=13,FullName="achu"});
Console.WriteLine(listObject.ToString());
public override string ToString()
{
StringBuilder t = new StringBuilder();
foreach(Employee e in this.Employees)
t.AppendLine (string.Format ("Employee: {0}",e.Fullname));
return t.ToString ();
}
或
public override string ToString ()
{
return String.Join ("Employee: ", this.Employees.Select (e => e.Fullname).ToArray<string>());
}