2016-04-26 13 views
0

私が持っている辞書コレクションキー別の辞書のコレクションに辞書コレクション値からすべてのデータを見つける

{key -> string, value -> class}

と私はノート

{key -> string, value -> string}

別の辞書のコレクションがあります。第二の辞書コレクション{key -> string, value -> string}.Valueがあるに第1辞書集{key -> string, value -> class}.Key

それで、私は第2コレクションの値に従って第1辞書コレクションからすべてのデータを見つける必要があります。

+0

何これは、SQLまたはASP.NETと関係があるのでしょうか?なぜ2つの言語にタグを付けましたか?あなたの漠然とした質問はすぐに解決されます。 –

+0

2番目の辞書をループして、最初に各キーで項目を検索しようとしましたか?あなたはどこにいるのですか? –

+0

あなたが話していることを知るために、クラスのシェルを書いて質問の辞書を定義してください。 – CathalMF

答えて

0

私の質問から、第2の辞書値に基づいて第1の辞書を検索したいと思っています。

public class Test 
{ 
    public string MyValue {get;set;} 
} 
Dictionary<string, Test> DictOne = new Dictionary<string, Test>(); 
Dictionary<string, string> DictTwo = new Dictionary<string, string>(); 

DictOne.Add("DictOneKeyOne", new Test() { MyValue = "DictOneValueOne" }); 
DictTwo.Add("DictTwoKeyOne", "DictOneKeyOne"); 

Test ValueFromDictOne = DictOne.ContainsKey(DictTwo["DictTwoKeyOne"]) ? DictOne[DictTwo["DictTwoKeyOne"]] : null; 
1
 class MyTest 
     { 
      public int myValue { get; set; } 
     } 

Main() 
     { 
     Dictionary<string, string> First = new Dictionary<string, string>(); 
     First.Add("dd", "test"); 
     First.Add("ss", "test"); 
     First.Add("tt", "test"); 
     First.Add("aa", "test"); 
     First.Add("mm", "test"); 

     Dictionary<string, MyTest> Second = new Dictionary<string, MyTest>(); 
     Second.Add("dd", new MyTest() { myValue = 123 }); 
     Second.Add("oo", new MyTest() { myValue = 123 }); 
     Second.Add("tt", new MyTest() { myValue = 123 }); 
     Second.Add("aa", new MyTest() { myValue = 123 }); 
     Second.Add("rr", new MyTest() { myValue = 123 }); 

     var Final1 = First.Where(S => Second.Any(T => S.Key.Equals(T.Key))); 

     var Final2 = Second.Where(S => First.Any(T => S.Key.Equals(T.Key))); 

     Console.WriteLine("\nFirst\n"); 
     foreach (var item in Final1) 
     { 
      Console.WriteLine(item.Key + "-" + item.Value); 
     } 
     Console.WriteLine("\nSecond\n"); 
     foreach (var item in Final2) 
     { 
      Console.WriteLine(item.Key + "-" + item.Value.myValue); 
     } 
} 
+0

あなたの答えでさらに詳しく説明してください – Mostafiz

関連する問題