有时候会出现需要将一个集合分成所干个集合,依次再对每组集合进行处理,想了想,用 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);
}
}

如此 比较轻便 灵活,使用的时候比较方便,另外配置文件放在一起,也比较便于管理

List 拆分集合与 读写XML配置文件的更多相关文章

  1. C#中读写Xml配置文件常用方法工具类

    场景 有时需要使用配置文件保存一些配置的属性,使其在下次打开时设置仍然生效. 这里以对xml配置文件的读写为例. 1.读取XML配置文. 2.写入XML配置文件. 3.匹配 XPath 表达式的第一个 ...

  2. Spring根据XML配置文件 p名称空间注入属性(property后出现,简便但只针对基本数据类型管用,自定义集合等引用类型无效)

    要生成对象并通过名称空间注入属性的类 代码如下: package com.swift; public class User { private String userName; public void ...

  3. struts2中struts.xml配置文件详解【未整理】

    1.    深入Struts2的配置文件 本部分主要介绍struts.xml的常用配置. 1.1.    包配置: Struts2框架中核心组件就是Action.拦截器等,Struts2框架使用包来管 ...

  4. Java 读写XML文件 API--org.dom4j

    om4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个十分优秀的JavaXML API,具有性能优异.功能强大和极其易使用的特点,同时它也是一个开放源代码的软件 ...

  5. Fixflow引擎解析(三)(模型) - 创建EMF模型来读写XML文件

    Fixflow引擎解析(四)(模型) - 通过EMF扩展BPMN2.0元素 Fixflow引擎解析(三)(模型) - 创建EMF模型来读写XML文件 Fixflow引擎解析(二)(模型) - BPMN ...

  6. C#操作Xml:通过XmlDocument读写Xml文档

    什么是Xml? Xml是扩展标记语言的简写,是一种开发的文本格式.关于它的更多情况可以通过w3组织了解http://www.w3.org/TR/1998/REC-xml-19980210.如果你不知道 ...

  7. XML配置文件的命名空间与Spring配置文件中的头

    一直以来,写Spring配置文件,都是把其他配置文件的头拷贝过来,最多改改版本号,也不清楚哪些是需要的,到底是干嘛的.今天整理一下,拒绝再无脑copy. 一.Spring配置文件常见的配置头 < ...

  8. Maven的pom.xml配置文件详解

    Maven简述 Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具. Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具.由于 Mav ...

  9. struts2_struts.xml配置文件讲解

    1.bean Bean详细讲解:https://www.cnblogs.com/lulu638/p/4340703.html 2.constant constant属性配置,可配置的属性可以参考def ...

随机推荐

  1. Consider the following: If you want an embedded database (H2, HSQL or Der...

    这个坑把java进程干掉就可以了,因为占用了 Description: Failed to configure a DataSource: 'url' attribute is not specifi ...

  2. JNDI学习总结(一):JNDI到底是什么?

    https://blog.csdn.net/wn084/article/details/80729230 分类专栏: JNDI  JNDI是 Java 命名与目录接口(Java Naming and ...

  3. JavaScaript学习笔记第(一)

    js由三部分组成,分别是ECMAScript.DOM.BOM 其中ECMAScript规定了js的语法 js是一门解释型语言.脚本语言.动态类型语言.基于对象语言 书写js代码和CSS一样,有三个书写 ...

  4. linux 忘记mysql用户root密码 解决方案

    1.vim /etc/my.cnf[mysqld]skip-grant-tables ##追加此行,跳过权限表, 2.重启mysqlsystemctl restart mysqld 3.mysql 登 ...

  5. Java 之 Stack 集合

    一.Stack:栈 概述 栈是一种先进后出(FILO)或后进先出(LIFO:Last in first out)的数据结构. Stack是Vector的子类,比Vector多了几个方法,它的后进先出的 ...

  6. Zifencei扩展

    fence 指令对外部可见的访存请求,如设备 I / O 访问,内存访问等进行串行化.外部可见是指对处理器的其他核心.线程,外部设备或协处理器可见. fence.i 指令同步指令和数据流.在执行 fe ...

  7. vue用async、await实现同步请求

    以下是vue method的demo: loadTableData : async function() { var reses = await $.ajax({ type:'post', url:' ...

  8. Html引入百度富文本编辑器ueditor及自定义工具栏

    在日常工作用,肯定有用到富文本编辑器的时候,富文本编辑器功能强大使用方便,我用的是百度富文本编辑器,首先需要下载好百度编辑器的demo, 然后创建ueditor.html文件,引入百度编辑器,然后在h ...

  9. JMETER 使用JDBC查找数据作为参数

    有些情况下我们需要读取平台中的用户作为参数,比如用户ID作为参数进行压力测试,我们可以使用CSV文件,如果这样做,需要每一次 都构造文件,比较麻烦.如果可以查询数据库,将查出的数据作为参数循环传入的话 ...

  10. Mock Server之与被测系统对接(python+flask)

    第一步:获取入参与返回结果 先通过postman.jmeter.自己写脚本之类的方式请求我们的mock server,试着获取入参与对应的返回值,这里我用的是robotframework + Requ ...