您的位置:首页 > 编程语言 > C#

c#中哈希表的用法总结

2007-07-06 11:18 330 查看
内置插件对序列

一、first:序列的第一个值,如果序列为空,模板处理时会抛异常

<#assign maple=[‘hhh’,’bbb’,’ccc’,’ddd’,’eee’,’ttt’,’hhh’]>

${maple?first}将输出hhh

二、last:序列的最后一个值,如果序列为空,也会抛异常

${maple?last}将输出hhh

三、seq_contains:判断一个序列中是否存在某个值(存在于FreeMarker2.3.1及以后版本中)

这个内置插件前面加一个前缀seq_用来区分在string操作中的contains

这里seq_contains返回的是Boolean,不能直接使用${}将其输出,如:${maple?seq_contains(‘ccc’)},这个写法是错误,但如果你一定要输出的话,可以将Boolean转换为string,即:${maple?seq_contains(‘ccc’)?string}

四、seq_index_of:这个内置插件存在于FreeMarker23.1中,返回的是指定值在序列中的索引,前面加上seq_前缀是用于区分string中的index_of内置插件。

返回的是第一次出现指定值在序列中的索引,如果没有匹配的值返回-1

如:${maple?seq_index_of(‘ddd’)}将返回3

五、seq_last_index_of:序列中最后一次出现某个值的索引,如果没有返回-1

${maple?seq_last_index_of(‘hhh’)}

六、reverse:反序

七、size序列的大小

八、sort:排序,返回升序排列。使用语言环境的特定词汇排序

九、sort_by:根据制定的内容排序

<#assign ls=[

{"name":"whale", "weight":2000},
{"name":"Barbara", "weight":53},

{"name":"zeppelin", "weight":-200},

{"name":"aardvark", "weight":30},

{"name":"beetroot", "weight":0.3}

]>

<#list ls?sort_by(‘name’) as i>

${i.name}:${i.weight}

<#list?>

<#list ls?sort_by(‘weight’) as i>

${i.name}:${i.weight}

</#list>

十、chunk:块。

在FreeMarker2.3.3中存在

这个内置插件是对序列进行分割,建立多个序列,大小根据参数断定。

chunk有两个参数chunk(length,fill);

第一个参数表示建立小序列的大小,如果不书写第二个参数,最后一个序列大长度可能小于这个值

如果书写第二个参数,最后一个序列的程度若小于length,就会使用该参数进行填充。

如:

<#assign maple=[‘hhh’,’bbb’,’ccc’,’ddd’,’eee’,’ttt’,’hhh’]>

<#list maple?chunk(3) as row>

<#list row as cell>

${cell}

</#list>

</#list>

<#list maple?chunk(3,’-’) as row>

<#list row as cell>

${cell}

</#list>

</#list>

输出结果:

hhh

bbb

ccc

ddd

eee

ttt

hhh

hhh

bbb

ccc

ddd

eee

ttt

hhh
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: