将列表值存储在c#中的字符串中

时间:2016-12-16 05:43:01

标签: c# asp.net .net c#-4.0

我有一个存储一些字符串值的列表。

代码:

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

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

在一个方法中,我试图附加列表值。

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

列表的值如下所示

enter image description here

如何获取公式值并附加到foreach中?

2 个答案:

答案 0 :(得分:3)

您要item object追加append 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();
      }
   }

答案 1 :(得分:3)

您可以使用foreach在没有String.Join()的情况下执行此操作,它将是这样的:

 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('|'));