找回密码
 立即注册
搜索
查看: 1798|回复: 18

[其他] 【C#学习】请问如何记录和读取列表?

[复制链接]
     
发表于 2021-6-24 15:15 | 显示全部楼层 |阅读模式
本帖最后由 独自旅行 于 2021-6-24 15:16 编辑

目前的设计方法只能做到打包压缩指定的『一个文件夹/文件』。
并且能将目标的路径写入INI文件以记录,以后常用的时候直接读取INI进行操作。

但是如何选取多个文件夹/文件夹进行记录?(以后还会有很多需要用到列表的地方)
记录完毕之后以后又能读取常用?

有谁知道怎么做或者告诉我关键字?
回复

使用道具 举报

发表于 2021-6-24 15:52 | 显示全部楼层
  1.             
  2.             List<string> PathList = new List<string> { "path1", "path2", "path3"};

  3.             File.AppendAllLines("records.ini", PathList);

  4.             List<string> readPathList = File.ReadAllLines("records.ini").ToList();

复制代码


这样?
回复

使用道具 举报

     
 楼主| 发表于 2021-6-24 16:30 | 显示全部楼层
本帖最后由 独自旅行 于 2021-6-24 16:35 编辑

谢谢指教。我试一试。然后我再找找如何实现后续添加和删除的方法。

回复

使用道具 举报

     
发表于 2021-6-24 16:34 | 显示全部楼层
为什么要用上古ini,用json,直接序列化对象不香么
回复

使用道具 举报

     
 楼主| 发表于 2021-6-24 16:36 | 显示全部楼层
本帖最后由 独自旅行 于 2021-6-24 16:37 编辑
widder 发表于 2021-6-24 16:34
为什么要用上古ini,用json,直接序列化对象不香么

因为我半路出家还没学会用那个。不过你说了我就去学。
毕竟将来最终还是要上数据库的。
回复

使用道具 举报

     
发表于 2021-6-24 16:47 来自手机 | 显示全部楼层
widder 发表于 2021-6-24 16:34
为什么要用上古ini,用json,直接序列化对象不香么

封装成dll不是更好

— from OPPO PEGM00, Android 11 of S1 Next Goose v2.4.4.1
回复

使用道具 举报

     
发表于 2021-6-24 16:47 | 显示全部楼层
独自旅行 发表于 2021-6-24 16:36
因为我半路出家还没学会用那个。不过你说了我就去学。
毕竟将来最终还是要上数据库的。[f:1 ...

json库很多,我现在用Newtonsoft.Json
VS的工具->NuGet包管理器,直接搜索加入工程就可以用了

JsonConvert.SerializeObject(要序列化的对象, Formatting.Indented)
JsonConvert.DeserializeObject<要反序列化的对象类型>(JsonStr)
回复

使用道具 举报

     
发表于 2021-6-24 16:55 | 显示全部楼层
美人希 发表于 2021-6-24 16:47
封装成dll不是更好

— from OPPO PEGM00, Android 11 of S1 Next Goose v2.4.4.1

dll不方便直接手动改
回复

使用道具 举报

     
发表于 2021-6-24 17:15 | 显示全部楼层
ini还行,你在哪看的2008年坑人教程么
回复

使用道具 举报

     
 楼主| 发表于 2021-6-24 18:40 | 显示全部楼层
widder 发表于 2021-6-24 16:47
json库很多,我现在用Newtonsoft.Json
VS的工具->NuGet包管理器,直接搜索加入工程就可以用了

.net 自带的库?
回复

使用道具 举报

     
 楼主| 发表于 2021-6-24 18:42 | 显示全部楼层
すぴぱら 发表于 2021-6-24 17:15
ini还行,你在哪看的2008年坑人教程么

因为当初没找到如何存档的方法。
后来偶然发现一篇INI的博文,上面的方法可用,就用了。
回复

使用道具 举报

     
发表于 2021-6-24 18:52 | 显示全部楼层
关键字序列化
别用ini了
对象直接序列化成json,然后保存文件就行
回复

使用道具 举报

     
发表于 2021-6-24 19:25 | 显示全部楼层

不是,只不过VS自带包管理可以从里面下
回复

使用道具 举报

     
发表于 2021-6-24 20:43 来自手机 | 显示全部楼层

.Net Core 3.1起,简单的需求用自带的JSON库也行了,一般够用了

— from Xiaomi MIX 2S, Android 10 of S1 Next Goose v2.4.4.1
回复

使用道具 举报

     
 楼主| 发表于 2021-6-24 23:54 | 显示全部楼层
chachi 发表于 2021-6-24 18:52
关键字序列化
别用ini了
对象直接序列化成json,然后保存文件就行

嗯……
手上有书刚刚好有这个部分。我还以为是说列表,原来是这样么。
那我早点改。
回复

使用道具 举报

     
发表于 2021-6-25 03:46 | 显示全部楼层
Newtonsoft.Json超好用的
回复

使用道具 举报

     
发表于 2021-6-25 12:05 来自手机 | 显示全部楼层
.Net Core 自带那个 Json 库不自带 snake_case 命名
Dynamic 要 .Net 6 才支持
回复

使用道具 举报

     
发表于 2021-6-25 13:42 来自手机 | 显示全部楼层
real_zyf 发表于 2021-6-25 03:46
Newtonsoft.Json超好用的

自从发现从某个版本之后我写到字符串里面的日期会被解析成Date Time类型再转回去就没有再用过了
https://github.com/JamesNK/Newtonsoft.Json/issues/862

—— 来自 BlackBerry BBF100-4, Android 8.1.0上的 S1Next-鹅版 v2.1.2
回复

使用道具 举报

     
 楼主| 发表于 2021-6-29 09:29 | 显示全部楼层
求问,使用ListBox好,还是使用ListView好?
刚刚试用了一下ListView,发现路径元素是横着添加的。
listView1.Items.Add(pathName1);  
似乎变成了每加一个元素就变成了添加一个列?
不是应该从上往下逐行添加吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2024-6-26 13:13 , Processed in 0.197474 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表