2017-09-10 16 views
-1

foreach "hostedId"からそのデータを返そうとしていますか?foreachデータからデータを返す

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; 
} 
+0

:など','として、区切り文字でそれらを連結することができます。最初は「あなたが求めているものは不明」で、2番目は「主に意見ベース」です – krillgar

+0

@krillgar ok私はちょうど1つの質問を更新し、質問を簡単にしようとしました。ホープは助ける – user3622142

+0

@ user3622142あなたは 'HostedZones'に1つのエントリがあると期待していますか?複数ある場合は最初に再試行しますか?最後 ?それらのすべてが '、'と連結されていますか? –

答えて

1

あなたが1つの文字列としてすべての値を返すようにしたい場合あなたは2つの完全に異なる質問がある

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); 
} 
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); 
} 
+0

ありがとう。私は数日間このことを理解しようとしてきました。 – user3622142

+0

これについて詳しく知りたい場合は、ウェブ上のエンジンの中で "LINQ tutorial"を検索してください。 –

+0

申し訳ありませんが、痛みが、私はこのエラーがあります:System.Linq.Enumerable + WhereSelectListIterator'2 [Amazon.Route53.Model.HostedZone、System.String]。このエラーは、リストに複数の値があるためです。私は困惑している。リストをforeachしてコンソール出力があれば、その情報が表示されます。 – user3622142

関連する問題