List 拆分集合与 读写XML配置文件
2024-09-06 05:27:33
有时候会出现需要将一个集合分成所干个集合,依次再对每组集合进行处理,想了想,用 Linq 处理就很方便
var times = Math.Ceiling((double)lis.Count() / );
var temp1 = lis.Skip().Take(); //第一组
var temp2 = lis.Skip().Take(); //第二组
for (int i = ; i < times; i++)
{
//每一组
var ary = lis.Skip(i * ).Take();
//处理每小组数据 }
//合并集合
var list = temp1.union(temp2).ToList();
对于Web程序而言,一般情况需要的一些设备字段之类的往往是写在config 配置文件中,通过 ConfigurationManager.AppSettings["XXX"]读取,这样使用无可厚非,当然有些项目来说,配置的参数相对来说比较多,直接放在web.config中可能不易读,对于这种情况,将其全部写在xml文件中,统一管理,也比较方便,这两种方式,殊途同归。对于XML文件的读写,比较基础。
比如新建一xml 文件,将对应数据配置到XML中后,然后通过Linq to xml 进行读取操作,不怎么高大上
//取值
public static Dictionary<string, string> GetValue()
{
Dictionary<string, string> des = new Dictionary<string, string>();
try
{
var obj = new object();
lock (obj)
{
var exePath = AppDomain.CurrentDomain.BaseDirectory.ToString();
string Path = exePath + "Config" + "\\ArcConfig.xml";
XElement root = XElement.Load(Path);
var quests = from c in root.Elements() select c;
foreach (var item in quests)
{
des.Add(item.Name.LocalName, item.Value);
}
return des;
}
}
catch (Exception ex)
{
LogHelper.ErrLogQueue.Enqueue(ex.Message + "--" + ex.StackTrace);
return des;
}
}
拿到字典值后,给字段对应赋值即可,这里赋值可以为成员字段,也可以放在内部缓存中
//Cache赋值-内存
public static void SetConfigValue(Dictionary<string, string> dic)
{
try
{
//映射成员字段//PropertyInfo[] propertyInfos =GetType().GetProperties();
foreach (var item in dic)
{
//item.SetValue(this, dic[item.Name]); --遍历
CacheHelper.SetCache(item.Key, item.Value);
}
}
catch (Exception ex)
{
LogHelper.ErrLogQueue.Enqueue(ex.Message + "---" + ex.StackTrace);
}
}
如此 比较轻便 灵活,使用的时候比较方便,另外配置文件放在一起,也比较便于管理
最新文章
- Java读带有BOM的UTF-8文件乱码原因及解决方法
- 在macbook上搭建ubuntu工作环境
- Linux下c++通过动态链接库调用类
- 最常用的Java库一览
- python学习第一天 -安装配置及其输入输出
- MySQL 修改字段类型或长度
- loj1336(数学)
- JavaScript(第十八天)【DOM基础】
- 模拟银行ATM系统(基础版)
- lambda表达式和表达式树(深入理解c#)
- LeetCode DB: Duplicate Emails
- sampleFactory(女娲造人)
- ASP.NET Zero--4.不使用谷歌字体,提升加载速度
- python 运行报错 Process finished with exit code -1073741819 (0xC0000005)
- 如果文件里是汉字的话,这地方seek括号里面只能是偶数
- 详细详解One Hot编码-附代码
- centos7安装配置docker
- vue安装环境
- GitHub+Octopress搭建免费blog
- linux系统配置之PATH环境变量的设置(centos)