从foreach数据返回数据

时间:2017-09-10 19:09:46

标签: c#

我正在尝试从foreach" hostedId"中返回该数据。有人可以帮忙吗?

public static string GetHostedRecordSet()
{
    var request = new ListHostedZonesRequest()
    {
        MaxItems = "1"
    };

    var list = client.ListHostedZones(request);

    foreach (var hostedId in list.HostedZones)
    {
        Console.WriteLine("\n Hosted ID is:");
        Console.Write(hostedId.Id);
    }

    return hostedId;
}

2 个答案:

答案 0 :(得分:2)

这取决于。如果要返回第一个元素:

return list.HostedZones.First().Id; // Not in a loop!

如果要返回多个项目,请更改方法的签名:

public static IEnumerable<string> GetHostedRecordSet()
{
    var request = new ListHostedZonesRequest()
    {
        MaxItems = "1"
    };

    var list = client.ListHostedZones(request);
    return list.HostedZones
        .Select(z => z.Id);
}

答案 1 :(得分:1)

如果要将所有值作为单个字符串返回,可以将它们与分隔符连接起来,例如','

public static string GetHostedRecordSet()
{
    var request = new ListHostedZonesRequest()
    {
        MaxItems = "1"
    };

    var list = client.ListHostedZones(request);

    StringBuilder result = new StringBuilder();
    foreach (var hostedId in list.HostedZones)
    {
        result.Append(hostedId.Id).Append(",");
    }

    return result.ToString(0, Math.Max(0, result.Length - 1);
}