我有一個模板,它在各個地方使用相同的多值屬性。我經常發現自己處於一種情況,我想在將模板應用到各個值之前過濾屬性。在StringTemplate中過濾多值屬性
我可以這樣做:
<#col:{c|<if(cond)><# c.Attribute2 #><endif>};separator=\",\"#>
但是這不是我想要的,因爲那時有輸出分離分離「跳過」條目,如:
2,4 ,,, 6,,4,5 ,,
我可以將它修改爲
<#col:{c|<if(c.Attribute1)><# c.Attribute2 #>,<endif>};separator=\"\"#>
這幾乎是確定的,但我得到一個additio最後一個號碼,有時並不重要(通常是當隔膜是空白),但有時確實後最終分離:
2,4,6,4,5,
有時我最終會做:
<#first(col):{c|<if(cond)><# c.Attribute2 #><endif>};separator=\"\"#>
<#rest(col):{c|<if(cond)>,<# c.Attribute2 #><endif>};separator=\"\"#>
但是,如果第一個成員不滿足該條件,此方法失敗,那麼在開始一個額外的分隔符:
,2,4,6,4,5
有人可以給我一個更好的解決方案嗎?
這是v3嗎?嗯......也許在v3中它並沒有讓「空」的迭代值消失。 –
我正在使用.NET 4.0.6.9004版 –