Hen*_*ker 12 .net-3.5 tridion tridion2009
将多值Tridion文本字段拆分为逗号分隔字符串的最快方法是什么?在我的情况下,我使用C#,但我想其他任何例子也是受欢迎的.这似乎是丑陋而冗长的方式:
var multiTextField = fields["multiTextField"] as TextField;
string multiCommaField = String.Empty;
for (int i = 0; i < multiTextField.Values.Count; i++)
{
multiCommaField += multiTextField.Values[i].ToString() + ",";
}
Run Code Online (Sandbox Code Playgroud)
编辑:我使用的是.NET 3.5和Tridion 2009 SP1
您没有在您的问题中指定您的Tridion或.Net版本,但您可以使用一些不同的技术从文本字段中获取逗号分隔值.
如果您使用.Net 4,我相信您可以这样做:
string.Join(",", multiTextField.Values);
Run Code Online (Sandbox Code Playgroud)
只要multiTextField.Values
实现IList.
如果您使用的是.Net 3.5或更早版本,我相信该string.Join()
功能需要一个数组而不是IList
.
关于这里的选项有一个非常好的讨论这里的字符串加入列表(.Net 4)
或这里尝试 字符串.加入IList(.Net 4)
或在这里从IList创建一个逗号分隔列表(.Net 3.5)
您可以使用LINQ:
var multiTextField = fields["multiTextField"] as TextField;
string delimeter = ",";
Console.WriteLine(multiTextField.Values.Aggregate((i, j) => i + delimeter + j))
Run Code Online (Sandbox Code Playgroud)
或者以更短(更丑)的方式:
((TextField) fields["multiTextField"]).Values.Aggregate((i, j) => i + "," + j))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
286 次 |
最近记录: |