2011-12-19 10 views
-2

3つのリストから文字列のコレクションを作成するには、短いロジックが必要です。例。 リスト1:APAC、アメリカ、ヨーロッパ リスト1:米国、英国、インド リアット2:イギリス、英語、ヒンディー語Cの文字列のリスト3からの文字列の組み合わせの確率を取得する#

だから私は、コレクションのOSの文字列を必要とする: APAC /米国/イギリス APAC/US /英語 APAC/US /ヒンディー語 APAC /英国/イギリス APAC /英国/英語 APAC /英国/ヒンディー語 APAC /ヨーロッパ/イギリス APAC /ヨーロッパ/英語 APAC /ヨーロッパ/ヒンディー語

アメリカ/ US /英国 アメリカ/アメリカ/英語 Amエリカ/ US /ヒンディー語 アメリカ/イギリス/イギリス アメリカ/イギリス/英語 アメリカ/イギリス/ヒンディー語 アメリカ/ヨーロッパ/イギリス アメリカ/ヨーロッパ/英語 アメリカ/ヨーロッパ/ヒンディー語

というように。..個々.FOR ... C#の

OOPSで

... LIST1が空得るならば、組み合わせがリスト2とリスト3 編集を続ける必要があります...あなたたちに伝えるために忘れ:Chagedシナリオ 右今私は ...混乱しています:私は、リストを持っています> 私は何とか

+3

はここで、 "確率" は、このに収まる、とん:何を持っていますあなたがしようとした?ネストされたループのように私には聞こえません。これは時間のないソートです。 –

+1

これは組み合わせではありません。 – DarthVader

+1

@Darth最初のセットのnC1、2番目のセットのnC1 ...; p(ただし、私は同意します...) –

答えて

1

は私には宿題のように見えますが、とにかく...

ICollection<String> result = new List<String>(); 

foreach (String region in list1) 
{ 
    foreach (String state in list2) 
    { 
     foreach (String lang in list3) 
     { 
      result.Add(String.Format("{0}/{1}/{2}", region, state, lang)); 
     } 
    } 
} 

// Use result... 
0
...これを行う方法

string str = List<Lits<string>(0)> +List<Lits<string>(1)>+ List<Lits<string>(2)>... 

のような指標に基づいて、文字列を準備する必要があり、多くの一覧 をサンザシ知りません

3 foreachがあなたのためにやるだろう。ここ

foreach(var c1 in list1) 
{ 

    foreach(var c2 in list2) 
    { 

    foreach(var c3 in list3) 
    { 
     Console.write(c1+c2+c3); 
    } 
    } 

} 

は、LINQのソリューションです:

var res = from l1 in list1 
      from l2 in list2 
      from l3 in list3 
      select new {Item = l1+l2+l3}; 
+0

@Derth、ここにリスト1が空の場合は?それはList2とリスト3を続行する必要があります...リスト2が空の場合もあります...そして、ここに再びハングします... –

+0

はlinqソリューションで答えを更新しました。 – DarthVader

関連する問題