我有一个返回 WorkInfo
对象的方法。它有 2 个属性 CompanyName
和 WorkLocation
。
一个人可能曾在多家公司工作过。在这种情况下,我想
返回
WorkInfo
对象的数组WorkInfo
对象返回给调用方法后,我需要用下面的方式枚举它foreach(WorkItem wRow in WorkInfo) { string s1 = wRow.CompanyName ; string s2 = wRow.WorkLocation; }
我如何在 C# 中实现这一点?
更新: 我需要做的就是返回多个相同类型对象的集合,并使用 ForEach 对其进行循环。
例如,数据表返回数据行的集合,我们可以使用 ForEach(Datarow dr in datatable.Rows) 对其进行循环
同样,我究竟应该怎么做才能返回“WorkInfo”对象的集合,我可以使用 ForEach 对其进行循环?
最佳答案
这是另一种尝试:
注意:快速代码——未经测试——我使用了你的命名约定(ick CamelCase)等。
public class WorkInfo
{
public string CompanyName { Get; Set; };
public string WorkLocation { Get; Set; };
}
public class Example
{
public List<WorkInfo> GetAList()
{
List<WorkInfo> result = new List<WorkInfo>();
result.Add(new WorkInfo { CompanyName = "MS", WorkLocation = "Redmond" });
result.Add(new WorkInfo { CompanyName = "Google", WorkLocation = "New York" });
result.Add(new WorkInfo { CompanyName = "Facebook", WorkLocation = "CA" });
return result;
}
public UseAList()
{
foreach(WorkInfo wRow in GetAList())
{
string s1 = wRow.CompanyName ;
string s2 = wRow.WorkLocation;
// process list elements s1 and s2
}
}
}
我相信这里有一些代码可以解决您的问题:
workInfo = FunctionThatReturnsArray(..);
if (workInfo.Length == 1)
{
// process single item at workInfo[0]
}
else
{
foreach(WorkItem wRow in WorkInfo)
{
string s1 = wRow.CompanyName ;
string s2 = wRow.WorkLocation;
// process list elements s1 and s2
}
}
关于c# - 返回多个对象并对其进行枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7436196/