C#对多个集合和数组的操作方法(合并,去重,判断)_C#教程

在开发过程中.数组和集合的处理是最让我们担心.一般会用for or foreach 来处理一些操作.这里介绍一些常用的集合跟数组的操作函数.

首先举例2个集合A,B.

List<int> listA = new List<int> {1,2,3,5,7,9};

List<int> listB = new List<int> {13,4,17,29,2};

listA.AddRange(listB ); 把集合A.B合并

List<int> Result = listA.Union(listB).ToList<int>(); //剔除重复项

List<int> Result = listA.Concat(listB).ToList<int>(); //保留重复项

listA.BinarySearch("1"); //判断集合中是否包含某个值.如果包含则返回0

在举例两个数组

int[] i=new int[]{1,2};
int[] j=new int[]{2,3};
List<int> r = new List<int>();
r.AddRange(i);

r.AddRange(j);
int[] c = r.ToArray(); 合并数组

int[] x=i.Union(j).ToArray<int>(); //剔除重复项

int[] x=i.Concat(j).ToArray<int>(); //保留重复项

int n = Array.BinarySearch(i,3);//判断数组中是否包含某个值.如果包含则返回0

时间: 2024-09-20 11:34:15

C#对多个集合和数组的操作方法(合并,去重,判断)_C#教程的相关文章

C#实现集合转换成json格式数据的方法_C#教程

本文实例讲述了C#实现集合转换成json格式数据的方法.分享给大家供大家参考,具体如下: /// <summary> /// dataTable转换成Json格式 /// </summary> /// <param name="dt"></param> /// <returns></returns> public static string ToJson(DataTable dt) { if (dt != null

C#中利用LINQ to XML与反射把任意类型的泛型集合转换成XML格式字符串的方法_C#教程

在工作中,如果需要跟XML打交道,难免会遇到需要把一个类型集合转换成XML格式的情况.之前的方法比较笨拙,需要给不同的类型,各自写一个转换的函数.但是后来接触反射后,就知道可以利用反射去读取一个类型的所有成员,也就意味着可以替不同的类型,创建更通用的方法.这个例子是这样做的:利用反射,读取一个类型的所有属性,然后再把属性转换成XML元素的属性或者子元素.下面注释比较完整,就话不多说了,有需要看代码吧! using System; using System.Collections.Generic;

C# 拷贝数组的几种方法(总结)_C#教程

突然学到了,所以就放到博客上来共享一下,权当是学习日记吧. 首先说明一下,数组是引用类型的,所以注意不要在复制时复制了地址而没有复制数值哦! 其实在复制数组的时候,一定要用new在堆中开辟一块新的空间专门用于存放数组,这样才是有效的. (1) int[] pins = { 9, 3, 7, 2 }; int[] copy=new int[pins.length]; for (int i = 0; i < copy.length; i++) { copy[i] = pins[i]; } (2) i

浅谈C#各种数组直接的数据复制/转换_C#教程

之前做Opengl程序,用的的C#的SharpGL这个库,里面有各种奇怪绑定的函数,比如原型为: void glInterleavedArrays(uint format, int stride, void * pointer); 的函数被他绑定成: private static extern void glInterleavedArrays(uint format, int stride, int[] pointer); 然后我就被逼着学习了各种float[] 转 int[] 的方法,比较他们

C#学习笔记- 浅谈数组复制,排序,取段,元组_C#教程

C#学习笔记- 浅谈数组复制,排序,取段,元组 using System; using System.Collections.Generic; namespace Application { class Test { static void Main () { //元组类型Tuple是静态类型,用静态方法创建实例,超过8个元素则第8个元素是元组类型 var tupe = Tuple.Create<int,int,string,string> (1, 2, "a", &quo

MyBatis传入集合 list 数组 map参数的写法_java

foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合.foreach元素的属性主要有item,index,collection,open,separator,close.item表示集合中每一个元素进行迭代时的别名,index指定一个名字,用于表示在迭代过程中,每次迭代到的位置,open表示该语句以什么开始,separator表示在每次进行迭代之间以什么符号作为分隔符,close表示以什么结束,在使用foreach的时候最关键的也是最容易出错的就是collection属性

java数组-集合与数组之间转换,修改后的变化

问题描述 集合与数组之间转换,修改后的变化 集合和数组之间转化,集合转换成数组,数组改变,集合改变吗,反之呢,求大神详细解释下,谢谢啦 解决方案 又是你,不是问过这样的问题了吗? 你去看一下java.util.Arrays.asList()和java.util.ArrayList.toArray()的源码,比看一些人随便的回答好好的多 解决方案二: 如果集合内的元素是简单类型,比如string int short,那么不会改变,反之也不会,如果是对象,那么给集合添加删除元素,不会影响数组,但是改

java实现列表、集合与数组之间转化的方法_java

本文实例讲述了java实现列表.集合与数组之间转化的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package test;  import java.util.ArrayList;  import java.util.Arrays;  import java.util.HashSet;  import java.util.List;  import java.util.Set;  public class Test2 {      public static void

C#中数组Array,ArrayList,泛型List详细对比_C#教程

在C#中数组Array,ArrayList,泛型List都能够存储一组对象,但是在开发中根本不知道用哪个性能最高,下面我们慢慢分析分析. 一.数组Array 数组是一个存储相同类型元素的固定大小的顺序集合.数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合. Array 类是 C# 中所有数组的基类,它是在 System 命名空间中定义. 数组在内存中是连续存储的,所以它的索引速度非常快,而且赋值与修改元素也非常简单. Array数组具体用法: using System; names