2016-12-16 87 views
0

我有一個存儲一些字符串值的列表。將列表值存儲在c中的字符串中#

代碼:

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

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

在一個方法,我想追加列表值。像圖所示

enter image description here

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

名單將有值我怎樣才能獲得公式值和在foreach追加?

回答

3

要附加的item object您需要使用String.Join()appendobject 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

你可以這樣做只是沒有foreach,這將是這樣的:

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

如果你真的想迭代使用foreach意味着您必須從迭代器變量中獲取Formula還要小心刪除最終的||完成迭代後,如果是這樣的代碼將如下所示:

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('|')); 
相關問題