2016-12-16 19 views
0

Ich habe eine Liste, die einige Zeichenfolge Werte speichert.Speichere Listenwerte in einer Zeichenfolge in C#

Code:

List<VBCode> vbCodes = new List<VBCode>(); 

public class VBCode 
{ 
    public string Formula { get; set; } 
} 

In einem Verfahren Ich versuche, die Liste Werte anzuhängen.

public void ListValue() 
    { 
    if (vbCodes.Count > 0) 
     { 
     StringBuilder strBuilder = new StringBuilder(); 
     foreach (var item in vbCodes) 
      { 
      strBuilder.Append(item).Append(" || "); 
      } 
     string strFuntionResult = strBuilder.ToString(); 
     } 
    } 

Die Liste Werte wie

enter image description here

unten

gezeigt Wie kann ich die Formel Werte zu erhalten und in der foreach anhängen?

Antwort

3

Sie sind Anfügen der item object Sie die object property Formula

public void ListValue() 
    { 
    if (vbCodes.Count > 0) 
     { 
     StringBuilder strBuilder = new StringBuilder(); 
     foreach (var item in vbCodes) 
      { 
      strBuilder.Append(item.Formula).Append(" || "); 
      } 
     string strFuntionResult = strBuilder.ToString(); 
     } 
    } 
3

Sie diese einfach mit String.Join() ohne foreach tun können, um append brauchen, wird es so sein:

string strFuntionResult = String.Join(" || ", vbCodes.Select(x=>x.Formula).ToList()); 

Wenn Sie wirklich wollen iterieren mit foreach bedeutet, dass Sie müssen von der Iteratorvariable auch achten Sie darauf, die endgültigeentfernen 210 nach Abschluss der Iteration würde der Code dann wie folgt aussehen:

StringBuilder strBuilder = new StringBuilder(); 
foreach (var item in vbCodes) 
{ 
    strBuilder.Append(item.Formula).Append(" || "); 
} 
string strFuntionResult = strBuilder.ToString(); // extra || will be at the end 
// To remove that you have to Trim those characters 
// or take substring till that 
strFuntionResult = strFuntionResult.Substring(0, strFuntionResult.LastIndexOf('|'));