怎样压缩LIST,又怎样解压?

ilearn 2013-02-22 10:24:35
我有个方法是返回LIST<T>的,数量比较大,我想压缩一下,再用WCF传回来客户端再解压,怎样做?
...全文
387 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ilearn 2013-02-23
  • 打赏
  • 举报
回复
在数据契约上用了list<t>算不算已经用了压缩技术?
ilearn 2013-02-23
  • 打赏
  • 举报
回复
谢谢你!!!
threenewbee 2013-02-23
  • 打赏
  • 举报
回复
引用 5 楼 ilearn 的回复:
在数据契约上用了list<t>算不算已经用了压缩技术?
不算,你看我的链接,比如说配置了GZipEncoder,那才是压缩。如果你是http绑定,你可以用抓包工具看到两者的不同。
threenewbee 2013-02-22
  • 打赏
  • 举报
回复
http://www.cnblogs.com/stangray/archive/2010/03/22/1691473.html 如果你已经用了压缩技术,再在逻辑上压缩就没有太大的效果了。
threenewbee 2013-02-22
  • 打赏
  • 举报
回复
引用 2 楼 ilearn 的回复:
list就是有大量文本或者可以压缩的数据,4000多条记录,是查本地局域网中几个数据库数据,再传给客户端,我的客户端在本地,都花了1分钟多一点
对,password也是关键字。
ilearn 2013-02-22
  • 打赏
  • 举报
回复
list就是有大量文本或者可以压缩的数据,4000多条记录,是查本地局域网中几个数据库数据,再传给客户端,我的客户端在本地,都花了1分钟多一点
threenewbee 2013-02-22
  • 打赏
  • 举报
回复
如果List中有很多重复条目,可以这么做 complist = list.GroupBy(x => x).Select(x => new { v = x.Key, c = x.Count() }) 解压 list = complist.SelectMnay(x => Enumerable.Repeat(x.c, x.v)) 如果list有公共前缀(比如说国家字段、城市字段、街道字段),可以用树状数据结构压缩。 如果list有大量文本或者可以压缩的数据,也可以直接二进制序列化,再用标准的压缩算法压缩。解压缩的时候先解压缩,再反序列化。

111,092

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧