社区
C#
帖子详情
在c#中操作内存的问题
lovefootball
2005-04-22 11:40:13
我现在想解决这样一个问题:
我要根据一定的格式解析硬盘上的特殊文件,我想把解析出来的信息,比如文件名、信息、解析时间等等保存到内存中,在资源管理器中再遇到这个文件的时候就可以从内存中读取相应的信息,以便提高访问速度。同时读取信息的时候要更新内存中这个文件的解析时间,内存中保留一定数量的记录,超过这个数量的时候,就删去解析时间最早的记录,不知道我表达清楚了没有?这个是不是得用MemoryStream来做啊?请高手指点,谢谢~~~~~~~~~~~
...全文
328
17
打赏
收藏
在c#中操作内存的问题
我现在想解决这样一个问题: 我要根据一定的格式解析硬盘上的特殊文件,我想把解析出来的信息,比如文件名、信息、解析时间等等保存到内存中,在资源管理器中再遇到这个文件的时候就可以从内存中读取相应的信息,以便提高访问速度。同时读取信息的时候要更新内存中这个文件的解析时间,内存中保留一定数量的记录,超过这个数量的时候,就删去解析时间最早的记录,不知道我表达清楚了没有?这个是不是得用MemoryStream来做啊?请高手指点,谢谢~~~~~~~~~~~
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lovefootball
2005-04-26
打赏
举报
回复
up~~~~~~~~~~
zhangqiushui
2005-04-23
打赏
举报
回复
帮顶
evaELLIS
2005-04-23
打赏
举报
回复
http://www.dotnetjunkies.com/Tutorial/A4ED5FD6-D385-4475-A357-27CF43A78205.dcik
wjcking
2005-04-23
打赏
举报
回复
up
lovefootball
2005-04-23
打赏
举报
回复
to saucer(思归)
我的是winform的程序,我现在做了一个静态的hashtable,如果有就从hashtable中取,如果没有就解析文件,并添加到hashtable,速度并没有改变多少。
现在如果是1千多个文件的话,稍微有点刷屏的感觉,速度比winamp歌放的多的时候显示时间长度的那种速度稍微快一些。我现在想当hashtable中有数据的时候,做到像windows那样快,就是做到没有刷屏的感觉,不知道能不能做到。另外windows是怎么处理文件的属性的?他的速度为什么那么快啊?
lovefootball
2005-04-22
打赏
举报
回复
up~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
saucer
2005-04-22
打赏
举报
回复
what kind of program? winform or webform?
for webform, you could use Cache class, it allows you specify a timeout to expire and also you can use CacheDependency class to add a depenpency on the file, so that if the file changes, you can refresh those information
see (it is for database, but the idea is same)
http://www.dotnetjunkies.com/Tutorial/A4ED5FD6-D385-4475-A357-27CF43A78205.dcik
>>>内存中保留一定数量的记录,超过这个数量的时候,就删去解析时间最早的记录
you need to write your own manager class, probably derived from a CollectionBase or Hashtable
lovefootball
2005-04-22
打赏
举报
回复
UP
JasonHeung
2005-04-22
打赏
举报
回复
用类或者结构数组就可以了。
hchxxzx
2005-04-22
打赏
举报
回复
CS的东西我也不太懂.
提供一个思路
在系统中,初始化一个静态的DataTable,多列,分别存放你要放的信息,并在初始化时,从硬盘上按顺序读取若干条记录,存入此表中.
在需要读取硬盘文件时,先到此表中访问一下,如果表中没有,则按此表的索引号,将最后一条记录删除,同时插入当前文件信息在最前面.
lovefootball
2005-04-22
打赏
举报
回复
to zhzuo(秋枫)
类型化的数据集能给一点代码么?
marvelstack
2005-04-22
打赏
举报
回复
你建立一个类型化的数据集,里面可以建一些表,用来保存相应的数据,
其实就相当于处理数据库一样,修改也就是直接修改这项数据表里面的数据,要保存到外面就WriteXml也比较方便。
当然数据表字段建成什么样就要看你自己需要那些数据了。其他操作就是在用Ado.net了。
lovefootball
2005-04-22
打赏
举报
回复
to ddarkelf(黑暗精灵)
你那个是啥意思啊?
ddarkelf
2005-04-22
打赏
举报
回复
设为static的变量
if( xxx == null )
//读取
else
//使用
lyglxj
2005-04-22
打赏
举报
回复
up
lovefootball
2005-04-22
打赏
举报
回复
to zhzuo(秋枫)
具体的怎么实现啊?
麻烦你说的详细点好么?
marvelstack
2005-04-22
打赏
举报
回复
在内存中放个类型化的数据集
C#
互
操作
的
内存
溢出
问题
c#
调用C++DLL代码,发现了一个隐藏很深的
问题
。 危害很大,而且不易察觉。 大概是申明c++的函数时候,有一个long类型的指针。在
C#
中
我的申明成了这样: public extern void Method(ref uint para); 最初怎么也没有发现这里面有什么
问题
,知道这个隐藏的
问题
暴露出来,把前面申明的一个变量改变了, 我才恍然大悟。 uint test =
终于搞清楚了
C#
二进制的一些关键
操作
了,解决了微软面试题,求数组
中
两两之差绝对值最小的值O(N)最少
内存
限制的
问题
!
终于搞清楚了
C#
二进制的一些关键
操作
了,解决了微软面试题,求数组
中
两两之差绝对值最小的值O(N)最少
内存
限制的
问题
! 研究了好几天,写出来一个看起来象O(n)的算法,O(nlog)就不用写了. 思路是桶排序O(N)复杂度,为了节省空间,采用了Byte[]数组,1个byte代表8个数字的有无. 回头整理公布一下
C#
二进制运算的一些重要
操作
.
C#
code
C#
111,128
社区成员
642,534
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章