我正在使用一个通用List,我将Employee对象添加到。
我知道如何添加和删除它,但我如何从中“读取”对象数据以及如何访问列表中特定对象的方法和属性。
假设Employee
类包含以下属性,如何访问它以修改对象数据?
public string FirstNameData
{
get { return v_firstName; }
set { v_firstName = value; }
}
答案 0 :(得分:6)
假设:
var myList = new List<Employee>();
你有很多选择......
首先,您可以直接对其进行索引:
var firstName = myList[0].FirstNameData
你可以枚举它:
foreach(var employee in myList)
ProcessName(employee.FirstNameData);
如果您使用的是.Net 3.5或更高版本,则可以使用Linq exetnsions:
var firstName = myList.First().FirstNameData;
var allFirstNames = myList.Select(employee => employee.FirstNameData);
这完全取决于你想做什么......
答案 1 :(得分:3)
您可以遍历列表并对其进行编辑,例如
public void KnightEmployees(List<Employee> employeeList)
{
foreach(Employee employee in employeeList)
{
if (employee.Gender == Gender.Male)
{
employee.FirstNameData = "Sir " + employee.FirstNameData;
}
else
{
employee.FirstNameData = "Dame " + employee.FirstNameData;
}
}
}
或通过列表中的索引访问它们,这会为您提供一个可以正常使用的对象,例如
employeeList[0].FirstNameData = "Bob";
这是你的意思吗?
答案 2 :(得分:0)
您在寻找索引吗?
List<Employee> list = new List<Employee>();
list[0] = new Employee();
list[0].FirstNameData = "John";
答案 3 :(得分:0)
很难确切地说出你在问什么,但如果你知道你想要的列表中的哪个员工,你的代码可能会是这样的:
var emps = new List<Employee>();
emps.Add(...);
...
Console.WriteLine(emps[3].FirstName); //the 4th employee in the list
这与您的问题有点无关,但您可能想尝试在C#中使用自动属性(不需要私有支持变量)来使您的属性更简单,如下所示:
public string FirstNameData {
get; set;
}