2013-12-11 5 views
1

Мне нужны данные ключа и значения из SharedToDomains и SharedFromDomains. Я хочу напечатать значения.Отдельное значение ключа от LinQ

var LogResponse = DeserializeFromJson<AttributeContainer>(sLogResponse); 

public class AttributeContainer 
{ 
    public Dictionary<string, int> MimeTypes { get; set; } 
    public Dictionary<string, Domain> SharedToDomains { get; set; } 
    public Dictionary<string, Domain> SharedFromDomains { get; set; } 
} 
+0

, имеющие JSon массивы, я хочу, как этот LogResponse.SharedFromDomains [ «Value»] Документы, – arun

ответ

1

Быстрый способ:

foreach(var s in SharedToDomains.Keys) 
{ 
     string key = s; 
     string val = SharedToDomains[s].ToString(); 
} 

Если вы действительно хотите использовать LINQ:

var outputList = from s in SharedToDomains select new { key=s.Key, value=s.Value }; 
+0

Я хочу Ключ Также – arun

+0

Обновлено это для вас. –

+0

Я использую этот код http://stackoverflow.com/questions/20497054/deserialize-json-using-json-net Я хочу получить результат для получения данных – arun

2
SharedToDomains.Select(x => x.Value).ToList().ForEach(x => Console.WriteLine(x)); 
+0

, если вам нужен ключ, также используйте 'SharedToDomains.ToList(). ForEach (x => Console.WriteLine (x.Key +" | "+ x.Value)); ' – Konstantin

+0

hi iwant Добавить ключевые значения в sb.Append (" {"); sb.AppendFormat (@ "" "DT_RowId" ":" "{0}" "", 1); sb.Append (","); sb.AppendFormat (@ "" "DT_RowClass" ":" "{0}" "", rowClass); sb.Append (","); sb.AppendFormat (@ "" "0" ":" "{0}" "", "

" + key + "
"); sb.Append (","); sb.AppendFormat (@ "" "1" ":" "{0}" "", "
" + key + "
"); sb.Append ("},"); – arun

+0

http://stackoverflow.com/questions/20497054/deserialize-json-using-json-net Я использую этот код, я хочу получить результат для получения значений. – arun

1

цикл по коллекции значений Словаря и печати домен к экран. Я положил его в методе, так что вы можете повторно использовать его в дальнейшем:.

private void PrintValues(Dictionary<string, Domain> dict) 
{ 
    foreach(KeyValuePair<string, Domain> kvp in dict) 
    { 
     Console.WriteLine(kvp.Key); //Key 
     Console.WriteLine(kvp.Value.ToString()); //Value 
    } 
} 

//Usage: 
PrintValues(SharedToDomains); 
PrintValues(SharedFromDomains); 
+0

Метод для этого немного перебор, как и использование KeyValuePair. –

+0

Сначала я использовал цикл над ValueCollection, но затем увидел на вашем ответе, что он также хочет Key. Вот почему я изменил его. И если вы собираетесь использовать один и тот же код более одного раза, метод всегда является хорошей идеей. :) – Abbas

+0

http://stackoverflow.com/questions/20497054/deserialize-json-using-json-net Я использую этот код, я хочу получить результат для получения значений. – arun

Смежные вопросы