一般我们用使用ADO.NET查询数据库返回泛型集合使用SqlDataReader逐行读取数据存入对象 代码 }…
定义一个类: public class UserInfo    {        public System.Guid ID { get; set; } public string LoginName { get; set; } public string LoginPwd { get; set; }    } /// <summary> /// 获取UserInfo泛型集合 /// </summary> /// <param name="connStr"…
坤哥见我昨天找了一段代码,如下面: 略微解释下,这段代码时D层查询结束后,将datatable查询到的结果赋值给实体对象的属性,然后返回实体的过程.坤哥看了之后问我,假设实体有500多个属性,难道也要这样一条一条的写吗?假设返回多个实体时怎么办?这时,我才意识到自己的代码时非常有问题的.原来设计的是每一个方法最多返回一个实体,可是当遇到查询到多条记录的时候,就又冒着破坏三层结构的事返回Datatable去了,真的是非常有问题啊. 怎么改.我脑海中一下子就浮现了老办法:数组+循环,用循环读条读取列…
昨天找坤哥看到我的一段代码.例如以下: 略微解释下,这段代码时D层查询结束后,将datatable查询到的结果赋值给实体对象的属性,然后返回实体的过程.坤哥看了之后问我.假设实体有500多个属性.难道也要这样一条一条的写吗?假设返回多个实体时怎么办?这时.我才意识到自己的代码时非常有问题的,原来设计的是每一个方法最多返回一个实体,可是当遇到查询到多条记录的时候.就又冒着破坏三层结构的事返回Datatable去了.真的是非常有问题啊. 怎么改,我脑海中一下子就浮现了老办法:数组+循环,用循环读条读…
我是一名 ASP.NET 程序员,专注于 B/S 项目开发.累计文章阅读量超过一千万,我的博客主页地址:https://www.itsvse.com/blog_xzz.html 网上有很多关于npoi读取excel表格的例子,很多都是返回一个Datatable的对象,但是我需要的是一个list集合,这里就需要把Datatable转成自己需要的List集合,所以,我封装了一个方法,传入class对象就能返回相应的list对象. 首先先看效果图,如下: 模板 一共有4列,有很多行,其中只有2行有数据…
using System; using System.Collections.Generic; using System.Linq; using System.Text; using Entity; using System.Diagnostics; using System.Data.SqlClient; using System.Data; using System.Configuration; namespace DAL { public class SqlDBHelper { priva…
在机房重构时.我们常常会用到ConvertHelper. 它把从数据库中查询到的dateTable(也是一个暂时表)转化为泛型,然后再填充到DataGridView控件中. ConvertHelper类有两点体现了面向对象的思想.一是由于它是常常被使用而被封装起来的类.二是由于它的返回值是泛型集合,泛型集合使存储数据时灵活而安全,也体现了面向对象的思想. ConvertHelper与sqlHelper                        一開始接触ConvertHelper,以为它和s…
商品 数量 单价英语 66 100语文 66 80数学 66 100化学 66 40物理 66 60 上面截图是要处理的文本文档内容,目的是计算出总价并加在最后一列. 这一篇与上一篇比较类似,目的相同,不同之处为读入到了list中,list泛型集合可以当作可变长数组使用.通过StreamReader创建一个流sr,然后通过一个while循环将读得的每行数据放入字符串类型的list中,之后对每个list分割,并返回一个字符串数组,这个字符串数组就可以通过转化为double来计算了,计算完成后可以通…
WebAPI调用笔记   前言 即时通信项目中初次调用OA接口遇到了一些问题,因为本人从业后几乎一直做CS端项目,一个简单的WebAPI调用居然浪费了不少时间,特此记录. 接口描述 首先说明一下,基于Http协议的Get.Post请求,网上有很多例子,其实方法都是一样的,这块没什么好说的,我也测试过我的代码,正常的调用是没问题的.问题不是在请求方法上,而是在如何取出数据上.因为对应我需求接口的开发是个实习生,对于如何提供接口,他并不熟悉,其中我还帮了一些忙,但我毕竟不是很熟BS端那块,纠结了1天…
开会的时候,师父说.我们在机房重构时,尽量不要用datatable作为返回值.改用泛型集合的方式,这样能够实现真正的面向对象. 通过查资料和同学交流,把这个问题给攻克了. 对于泛型集合.我也有了一些认识. 一.对泛型集合的认识 1.存在于System.Collection,Generic的命名空间中,在用的时候.须要引用 2.泛型是具有占位符(类型參数)的类,结构,接口和方法.就是说,在泛型集合中增加的数据必须符合指定的类型<T>,否则编译时就会报错. 以上为设计模式培训实习生的内容. 那泛型…
1: /// <summary> 2: /// 对比两个同类型的泛型集合并返回差异泛型集合 3: /// </summary> 4: /// <typeparam name="T">泛型类型</typeparam> 5: /// <param name="newModel">修改后的数据集合</param> 6: /// <param name="oldModel"&g…
数据模型和数据访问类:数据模型: 使用面向对象中的封装特性,将数据表中的行数据组成一个同样结构的对象,来单独使用: 数据访问类: 将某一个表的全部增删改查操作的方法写进去,方便统一管理和调用: 数据模型和数据访问类单独创建两个文件件单独放置,方便查看:注意:单独创建的问题件命名空间会自动更改,调用时需要引用命名空间,并且在创建类时第一步要把类的访问权限设置为公开的 创建一个数据库模型和一个数据库访问类,对学生信息表进行简单的操作 数据库信息表: create database netlx go…
一.泛型转DataSet /// <summary> /// 泛型集合转换DataSet /// </summary> /// <typeparam name="T"></typeparam> /// <param name="list">泛型集合</param> /// <returns></returns> /// public static DataSet ToDa…
最近在搞一个电商系统中由于业务需求,需要在插入一条产品信息后返回产品Id,刚开始遇到一些坑,这里做下笔记,以防今后忘记. 类似下面这段代码一样获取插入后的主键 User user = new User(); user.setUserName("chenzhou"); user.setPassword("xxxx"); user.setComment("测试插入数据返回主键功能"); System.out.println("插入前主键为:…
1.DataSet装换为泛型集合(注意T实体的属性其字段类型与dataset字段类型一一对应) #region DataSet装换为泛型集合 /// <summary> /// 利用反射和泛型 /// </summary> /// <param name="dt"></param> /// <returns></returns> public static List<T> ConvertToList&l…
有人说"越懒"的程序员进步的越快!其实还挺有道理.亲身体验,从刚出来工作到现在,自己变"懒"了许多,但感觉写出来的代码确有了不少提升.刚开始啊,同样的代码,赋值粘贴,可以说又丑又长,现在看来,不忍直视啊!变懒以后,就想着如何在同样能实现功能和需求的情况下让自己少出力,少写代码呢?渐渐的,开始学习如何利用c#关键字啊,特殊类型啊,封装公用方法,公用类等.好了废话不多说了,上星期刚好有个实习生问我关于ef的问题,就简单的写了个案例,利用泛型集合封装一个简单的"…
.NET中的泛型集合 在这里主要介绍常见的泛型集合,很多时候其并发时的线程安全性常常令我们担忧.因而简述下.NET并发时线程安全特性,其详情请见MSDN. 普通集合都不支持多重并发写操作 部分支持单线程写和并发读操作 同时.NET4添加了大量并发集合 首先介绍常见的泛型集合接口,其大部分都位于System.Collection.Generic命名空间. IEnumerable<T>,其可以获取一个IEnumerator<T>迭代器,如果从数据库的角度来看,前者是表,后者是游标,同时…
类库 类库(Class Library)是一个综合性的面向对象的可重用类型集合,这些类型包括:接口.抽象类和具体类.类库可以解决一系列常见编程任务(包括诸如字符串管理.数据收集.数据库连接以及文件访问等任务),还可以解决多种专用开发任务(控制台应用程序.桌面应用程序.WEB应用程序等). 优点:保密性好,用户无法看到方法结构体 缺点:如果这个方法不好用,使用者无法自己去更改它. 鼠标放在类上按下F12可以查看程序集 1.创建类库 类库创建完成,它默认public,并且没有主函数,无法进行启动,它…
1.要使用Dictionary集合,需要导入C#泛型命名空间 System.Collections.Generic(程序集:mscorlib) 2.描述 1).从一组键(Key)到一组值(Value)的映射,每一个添加项都是由一个值及其相关连的键组成 2).任何键都必须是唯一的 3).键不能为空引用null(VB中的Nothing),若值为引用类型,则可以为空值 4).Key和Value可以是任何类型(string,int,custom class 等) 3.创建及初始化 Dictionary<…
转载:http://blog.csdn.net/a125138/article/details/7742022 1.要使用Dictionary集合,需要导入C#泛型命名空间 System.Collections.Generic(程序集:mscorlib) 2.描述 1).从一组键(Key)到一组值(Value)的映射,每一个添加项都是由一个值及其相关连的键组成 2).任何键都必须是唯一的 3).键不能为空引用null(VB中的Nothing),若值为引用类型,则可以为空值 4).Key和Valu…
1.要使用Dictionary集合,需要导入C#泛型命名空间 System.Collections.Generic(程序集:mscorlib) 2.描述 1).从一组键(Key)到一组值(Value)的映射,每一个添加项都是由一个值及其相关连的键组成 2).任何键都必须是唯一的 3).键不能为空引用null(VB中的Nothing),若值为引用类型,则可以为空值 4).Key和Value可以是任何类型(string,int,custom class 等) 3.创建及初始化 Dictionary<…
C# 泛型集合之非泛型集合类与泛型集合类的对应: ArrayList对应List HashTable对应Dictionary Queue对应Queue Stack对应Stack SortedList对应SortedList 第一  : ArrayList(非泛型集合)  与List(泛型集合) ArrayList 是数组的复杂版本.ArrayList 类提供在大多数 Collections 类中提供但不在 Array 类中提供的一些功能: 1.Array 的容量是固定的,而 ArrayList…
最近对集合相关的命名空间比较感兴趣,以前也就用下List<T>, Dictionary<Tkey, TValue>之类,总之,比较小白.点开N多博客,MSDN,StackOverflow,没找到令我完全满意的答案,本打算自己总结下写出来,工作量好大的感觉……直到昨晚随意翻到看了一些又放下的<深入理解C#>-附录B部分,高兴地简直要叫出来——“这总结真是太绝了,好书不愧是好书”.真是“踏破铁鞋无觅处,得来全不费工夫”,最好的资源就在眼下,而自己居然浑然不知.或许只有深入技…
看到这个标题,大家应该就知道有泛型集合,就有非泛型集合 既然都是集合,咱们今儿就简单的来对比讲解下 需要记住的不算太多,理解记忆.理解记忆 2017-11-0411:39:09 C# 泛型集合之非泛型集合类与泛型集合类的对应: *****ArrayList对应List ***HashTable对应Dictionary *****Queue对应Queue *****Stack对应Stack SortedList对应SortedList 第一  : ArrayList(非泛型集合)  与List(泛…
在工作中,如果需要跟XML打交道,难免会遇到需要把一个类型集合转换成XML格式的情况.之前的方法比较笨拙,需要给不同的类型,各自写一个转换的函数.但是后来接触反射后,就知道可以利用反射去读取一个类型的所有成员,也就意味着可以替不同的类型,创建更通用的方法.这个例子是这样做的:利用反射,读取一个类型的所有属性,然后再把属性转换成XML元素的属性或者子元素.下面注释比较完整,就话不多说了,有需要看代码吧! using System; using System.Collections.Generic;…
using System.Data; using System.Reflection; using System.Collections; using System.Collections.Generic; using System; namespace BI.ERP.DAL { public class DataSet转换List { /// <summary> /// 泛型集合与DataSet互相转换 /// </summary> public class IListDataS…
最近在做WCF,因为是内部接口,很多地方直接用的弱类型返回(DataSet),这其实是一种非常不好的方式,最近将项目做了修改,将所有接口返回值都修改成强类型,这样可以减少很多与客户端开发人员的沟通,结构内容一目了然 很多时候,后台我们通过ADO.NET使用SQL语句查询出了想要的数据,这时如果直接把这个DataSet丢给客户端开发人员,会让他们一头雾水,并且维护扩展起来都很麻烦,所以想了一个办法,在服务端,首先我们把查询到的数据集转换成泛型集合,再返回给客户端,客户端可以直接使用,也可以再自行转…
第一  : ArrayList(非泛型集合)  与List(泛型集合) ArrayList 是数组的复杂版本.ArrayList 类提供在大多数 Collections 类中提供但不在 Array(数组.Array 类提供了各种用于数组的属性和方法.) 类中提供的一些功能: 1.Array 的容量是固定的,而 ArrayList 的容量是根据需要自动扩展的. 2.ArrayList 提供添加.插入或移除某一范围元素的方法.在 Array 中,您只能一次获取或设置一个元素的值. 3.使用 Sync…
wpf 导出Excel   1 private void Button_Click_1(object sender, RoutedEventArgs e) 2 { 3 4 ExportDataGridSaveAs(true, this.data); 5 } 6 #region wpf客户端 导出DataGrid数据到Excel 7 8 /// <summary> 9 /// CSV格式化 10 /// </summary> 11 /// <param name="d…
泛型优点 1.提高代码复用性,代码简洁直观 2.直接存储数据类型免去数据类型之间得隐式转换 3.免去拆箱装箱过程,提高效率 4.数据类型安全,存储时会验证是否对应该类型 泛型集合 一. ArrayList与Array与List<T> 1.ArrayList属于自增容器,也就是无需定义其长度可直接使用而Array需要定义其长度 2.ArrayList包含操作某范围元素方法而Array只能获取一个或设置一个元素得值 3.ArrayList可以轻松创建同步版本,而Array需要手动更新 4.Arra…