2014-02-07 4 views
0

До этого я пытаюсь спросить, я искал в сети, но не смог найти то, что искал.Преобразование из списка в строку в C#

Я пытаюсь преобразовать field_values ​​в строку в C#.

тип fields_value:

public List<List<string>> field_values { get; set; } 

это мой код, который я хочу, чтобы изменить его, чтобы делать свою работу.

string x = pi.field_values[0]; 

Я попытался сделать это с кодом ниже, который не работает.

string x=convert.tostring(pi.field_values[0]); 

любая идея?

+2

Просьба предоставить образец данных и желаемый результат. По крайней мере, я не понимаю, чего вы пытаетесь добиться. – Styxxy

+0

И конвертировать * как *? У вас есть список списков строк. Таким образом, с '[0]' вы получаете доступ к первому списку строк, а не к одной строке. –

+0

'pi.field_values ​​[0] [0] .ToString()' – Liam

ответ

4

field_values[0] является List<string> не string.

List<string> firstFieldValues = p.field_values[0]; 

Можно, например, использовать String.Join для Concat нескольких строк:

string allValues = string.Join(",", firstFieldValues); 
0

Чтобы получить строки из первого списка:

var str = field_values.ElementAt(0).Aggregate((aggr, next) => aggr + ", " + next); 

или из всех списков:

var allStr = field_values.SelectMany(l => l).Aggregate((aggr, next) => aggr + ", " + next); 
0

field_values[0] является List<string> ... так что вы должны пройти через эти списки и сохранять их в виде строки:

string allStrings = ""; 
foreach (var li in field_values){ 
    foreach (var str in li){ 
     allStrings += str; 
    } 
} 

Тогда вы будете иметь все поля в одну длинную строку.

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