c# - 返回多个对象并对其进行枚举

标签 c#

我有一个返回 WorkInfo 对象的方法。它有 2 个属性 CompanyNameWorkLocation

一个人可能曾在多家公司工作过。在这种情况下,我想

  1. 返回WorkInfo对象的数组

  2. 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/

相关文章:

c# - 关于使用 RuntimeHelpers.PrepareMethod() 进行预 JIT 的问题

c# - 在 C# 中初始化多维数组(与其他数组)

c# - 从一组图像中创建视频

c# - 将 Bindingsource 绑定(bind)到列表

c# - IClaimsTransformer 有什么用?

C# 调整文本框大小以适应内容

c# - NullReferenceexception后收到access violation exception(0xc0000005)是否正常

c# - .Single(), .SingleOrDefault() 方法的实际使用

c# - c sharp 中的菜单条工具

c# - 访问 ASP.NET Core 中间件中的用户凭据