在C#的List集合对象中,可以使用Distinct方法来对List集合元素进行去重,如果list集合内部元素为值类型,则Distinct方法根据值类型是否相等来判断去重,如果List集合内部元素为引用类型变量,则是判断相同引用的对象为相同进行List集合元素去重操作. (1)值类型的List<int>集合对象intList,内部元素为1,1,2,2,3,4,5等这几个元素.对intList对象进行去重可使用下列语句: List<, ,,,,,}; intList= intList.Di…
ArrayList集合是C#中的一个非泛型的集合类,是弱数据类型的集合类,可以使用ArrayList集合变量来存储集合元素信息,在ArrayList集合操作过程中,可以使用ArrayList集合类的Insert方法往指定的索引位置上插入新数据,Insert方法的方法签名为virtual void Insert(int index, object value),参数index代表插入的索引位置,value代表插入的值. 例如下面这个例子,arrayList1集合中本来拥有3个数据,因业务的要求需要…
在C#的List集合操作中,有时候需要将List元素对象拷贝存放到对应的数组Array中,此时就可以使用到List集合的CopyTo方法来实现,CopyTo方法是List集合的扩展方法,共有3个重载方法签名,分别为void CopyTo(T[] array).void CopyTo(T[] array, int arrayIndex).void CopyTo(int index, T[] array, int arrayIndex, int count)等三种形式,此文重点介绍CopyTo的第一…
在C#的List集合操作中,有时候需要对List集合元素进行汇总求平均值,如数值类型的List集合元素,有时候对象类型的List集合也需要对集合中的元素的某个对象进行汇总求平均值,此时都可以使用到Average来实现,Average方法是List集合中的Linq扩展方法,Average方法有2种形式,一种是不带任何参数的Average()形式,适用于数值型如int.double.decimal等数值类型的List集合计算平均值,另一种是带Lambda表达式的书写形式. (1)针对数值类型的Lis…
在C#的List操作中,有时候我们需要对List集合对象的某个属性进行求和操作,此时可以使用Lambda表达式中的Sum方法来快速实现此求和操作,使用Sum方法可使代码简洁易读,并且省去写for循环或者foreach遍历List的繁琐语句. 例如,在订单集合List<Order> orderList集合进行订单金额Amount汇总求和时,可使用下列语句进行快速实现. var Amount=orderList.Sum(t=>t.Amount): 在上述语句中t代表orderList集合中的…
很多时候操作List集合的过程中,我们需要根据特定的查询条件,获取List集合中有多少个实体对象符合查询条件,例如一批产品的对象List集合,如果这批产品的不合格数量大于10则重点备注.在C#中可以自己写for循环语句来逐条判断条件来实现,其实还有种更简单的方法就是使用Lambda表达式中的Count方法来实现,很多时候只需要一条语句. 例如,有个实体集合List<Student> studentList表示全校学生的集合数据,我们需要查找出ClassCode即班级代码等于A101班的学生的人…
在C#的编程开发中,ArrayList集合是一个常用的非泛型类集合,ArrayList集合可存储多种数据类型的对象.在实际的开发过程中,我们可以使用InsertRange方法在ArrayList集合指定位置插入另一个集合的所有数据,InsertRange方法的签名为virtual void InsertRange(int index, ICollection c),参数index代表插入的位置索引信息,c则代表用于插入的集合对象. InsertRange方法与Insert方法相比,两者都是往Ar…
一丶对之前的知识点进行补充 1.str中的join方法.把列表转换成字符串 # 将列表转换成字符串,每个元素之间用_拼接 s = "_".join(["天","地","人"]) print(s) ss = "天_地_人" s = ss.split("_") print(s) 2.列表和字典在循环的时候不能直接删除 需要把删除的内容记录在新列表中 然后循环新列表,删除字典或列表 lst =…
实际应用场景:从Excel导入数据时,存在某个标识符相同的多条数据,需要进行合并,因此需要统计重复元素,可以利用Bag包下的getCount()进行统计,代码如下: package test.com.dflzm.tpme.szjh; import java.util.ArrayList; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Set; import…
时间:2019年8月4日14:17:06问题描述:看下边的小例子: data class Man(val name: String, val age: Int, val type: Int) fun main(args: Array<String>) { val list = mutableListOf<Man>() list.add(Man("wzc", 31,2)) list.add(Man("wzj", 32,1)) list.add(…
ArrayList集合是C#中的一个非泛型的集合类,是弱数据类型的集合类,可以使用ArrayList集合变量来存储集合元素信息,任何数据类型的变量都可加入到同一个ArrayList集合中,如果需要往一个ArrayList集合末尾添加另一个ArrayList集合中所有元素对象,可以使用ArrayList集合类中的AddRange方法来实现,AddRange方法使用方式也类似于List集合中的AddRange方法.ArrayList集合中的AddRange方法的签名为:virtual void Ad…
引自:http://blog.csdn.net/shaopengfei/article/details/36426763 从C# 3.0开始提供了Distinct方法,这对于集合的使用有了更为丰富的方法,经过在网上搜索相应的资源,发现有关这方面的写的好的文章还是不少的.而且为了扩展Linq的使用不方便的地方,有一些办法非常有效.由于本人工作中的需要,有一些功能暂时没有用到那么深入,现在只把最简单的一些功能分享出来,整理出来. 简单一维集合的使用: List<int> ages = new Li…
IEnumerable类中的 Any方法,表示集合中有任何一元素满足条件,返回就true , 该方法有两个重载 1. 不带任何参数,表示集合中有元素 2. 参入一个 Func<TSource, bool> 委托 , 如果集合中有任何一个元素满足该条件就返回true , , }; // See if any elements are divisible by two. == ); // See if any elements are greater than three. ); // See i…
在ASP.NET网站应用程序中,可以通过Server.MapPath方法来获取跟服务器有关的目录信息,如获取网站的根目录.获取当前代码文件所在的目录路径.获取当前代码所在路径的上级路径等.Server.MapPath获得的路径都是服务器上的物理路径,也就是常说的绝对路径,如D:\\website\content这种形式. 以下是一些Server.MapPath常用的获取网站目录的方法. (1)Server.MapPath("/") :获取网站的根目录 (2)Server.MapPath…
在C#中的Datatable数据变量的操作过程中,有时候需要知道某一个列名在DataTable中的索引位置信息,此时可以通过DataTable变量的Columns属性来获取到所有的列信息,然后通过Columns属性中的IndexOf方法来获取指定列名的索引位置,IndexOf方法的参数为列名.即通过IndexOf方法获取DataTable中指定列所在的位置信息. 首先给出我们Demo的Datatable变量dataDt的结构信息,该表格中含有3列,分别为Name.Id.Memo. 获取Memo数…
在C#编程过程中,可以使用Convert.ToDecimal方法将字符串或者其他可转换为数字的对象变量转换为十进制decimal类型,Convert.ToDecimal方法有多个重载方法,最常使用的一个方法将字符串转换为decimal类型,方法签名为:static decimal ToDecimal(string value).当Convert.ToDecimal无法转换时,将会引发程序异常,如果无法确定是否一定可转换,建议使用decimal.TryParse等方法. 例如有个字符串str的值为…
在C#编程过程中,可以使用Convert.ToInt32方法将字符串或者其他可转换为数字的对象变量转换为ToInt32类型,Convert.ToInt32方法有多个重载方法,最常使用的一个方法将字符串转换为Int32类型,方法签名为:static int ToInt32(string value).当Convert.ToInt32无法转换时,将会引发程序异常,如果无法确定是否一定可转换,建议使用int.TryParse等方法. 例如有个字符串str的值为"33",将之转换为Int32类…
在C#编程过程中,可以使用Convert.ToSingle方法将字符串或者其他可转换为数字的对象变量转换为float类型,Convert.ToSingle方法有多个重载方法,最常使用的一个方法将字符串转换为float类型,方法签名为:static float ToSingle(string value).当Convert.ToSingle无法转换时,将会引发程序异常,如果无法确定是否一定可转换,建议使用float.TryParse等方法. 例如有个字符串str的值为"33.33",将之…
在C#编程过程中,可以使用Convert.ToDouble方法将字符串或者其他可转换为数字的对象变量转换为double类型,Convert.ToDouble方法有多个重载方法,最常使用的一个方法将字符串转换为double类型,方法签名为:static double ToDouble(string value).当Convert.ToDouble无法转换时,将会引发程序异常,如果无法确定是否一定可转换,建议使用double.TryParse等方法. 例如有个字符串str的值为"33.33"…
在C#的List集合操作中,可以使用List集合自带的ToArray方法来将List集合转换为对应的Array数组元素.ToArray方法的签名为T[] ToArray(),存在于命名空间System.Collections.Generic下,属于Linq的扩展方法,T是C#中泛型的写法,ToArray方法无需带任何参数. 例如有个List集合list1中含有元素1至10,需要将这个list1集合转换为int[]数组,可以使用下列语句实现: List<, , , , , , , , , }; i…
在C#的List集合对象中,FirstOrDefault方法可以用于查找List集合中符合条件的第一个元素,如果需要根据条件查找到List集合中的所有符合条件的元素对象集合,则需要使用到List集合的扩展方法Where()方法,Where方法的书写方式为Lambda表达式的书写形式,通过Where方法查找出符合条件的元素后再通过ToList方法可转换回原来的List集合对象类型. 举例如下,List集合testList为自定义类的List集合对象,首先往List集合中写入3条记录,具体如下: L…
在C#的List集合操作或者数组操作中,有时候我们需要获取到List集合元素中所有的对象的某个属性,然后存放到一个数组集合中,此时就可以使用到List集合以及数组的扩展方法Select方法快速实现获取合中某个属性的所有值,此方法避免了自己写for循环或者foreach遍历的循环语句. 例如,我们有个学生类Student类对象的集合StudentList集合,我们需要获取到所有学生的学号,然后存放在一个字符串List集合中,可使用以下语句. var  studentCodeList=Student…
C#开发过程中针对字符串String类型的操作是常见操作,有时候需要判断某个字符串是否包含在另一个字符串,此时可以使用IndexOf方法以及Contain方法来实现此功能,Contain方法返回True和False,而IndexOf方法可以返回所在的索引位置,如果为查找到对应的字符串,则返回-1. C#中字符串IndexOf方法的使用格式为:StringA.IndexOf(StringB).StringA表示被查找的字符串,StringB则表示需要查找的目标字符串.如果存在则返回所在的索引开始位…
在C#的List集合的操作中,有时候我们需要根据相关条件快速从List集合中获取到第一个符合条件的实体对象,例如有个全校班级的List集合,我们需要根据班级代码快速从List集合中查找出班级信息.可以使用传统的for或者foreach循环来单独比对查询来实现,其实还可以通过Lambda表达式中的FirstOrDefault方法快速来查找,只需一条语句即可查找出来. 例如有个全校班级信息的List集合List<StudentClass>  classList,需要快速从classList集合中查…
在C#的List操作中,针对List对象集合的排序我们可以使用OrderBy.OrderByDescending.ThenBy.ThenByDescending等方法按照特定的对象属性进行排序,其中Orderby表示按指定的第一个属性升序排序,OrderByDescending表示按指定的第一个属性降序排序,如果排序需要使用到不止一个条件的时候,可先使用OrderBy或者OrderByDescending方法排序完成后,再在方法链中调用ThenBy或者ThenByDescending对第二个条件…
Group在SQL经常使用,通常是对一个字段或者多个字段分组,求其总和,均值等. Linq中的Groupby方法也有这种功能.具体实现看代码: 假设有如下的一个数据集: public class StudentScore { public int ID { set; get; } public string Name { set; get; } public string Course { set; get; } public int Score { set; get; } public str…
.Net中没有封装获取时间戳(UnixTime,相对于1970年1月1日凌晨的毫秒数)的方法.因此本人写了如下方法实现. 提醒在摸索中的朋友,注意方法中的四舍五入.关于讨论四舍五入的方法,可以在这里找到:C#中的四舍五入方法 DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(, , , , , , )); DateTime nowTime = DateTime.Now; long unixTime = (long)Math.Rou…
原文:OLE控件在Direct3D中的渲染方法 Windows上的图形绘制是基于GDI的, 而Direct3D并不是, 所以, 要在3D窗口中显示一些Windows中的控件会有很多问题 那么, 有什么办法让GDI绘制的内容在3D中显示出来?反正都是图像, 总有办法实现的嘛! 前段时间在研究浏览器在游戏中的嵌入, 基本的思路就是在后台打开一个浏览窗口, 然后把它显示的内容拷贝到一张纹理上, 再把纹理在D3D中绘制出来, 至于事件处理就要另做文章了. 所以, 其它的Windows里的GDI绘制的东西…
哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率.在Java的Object类中有一个方法: 1 public native int hashCode(); 根据这个方法的声明可知,该方法返回一个int类型的数值,并且是本地方法,因此在Object类中并没有给出具体的实现. 为何Object类需要这样一个方法?它有什么作用呢?今天我们就来具体探讨一下hashCode方法. 一.hashCode方法的作用 对于包含容器类型的程序设计语言来说,基本上都会涉及到h…
原文: C#中DataTable中的Compute方法使用收集 Compute函数的参数就两个:Expression,和Filter. Expresstion是计算表达式,关于Expression的详细内容请看这里“http://msdn2.microsoft.com/zh-cn/library/system.data.datacolumn.expression(VS.80).aspx”.而Filter则是条件过滤器,类似sql的Where条件. DataTable dt = new DataT…