C# 如何把两个list的元素相加
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 如何把两个list的元素相加相关的知识,希望对你有一定的参考价值。
例如:list1里有1,2,3,4,5.list2里有6,7,8,9,10.最后要得到一个list3为1+6,2+7,3+8,4+9,5+10.也就是list1和list2的元素对应相加.请给一个完整的C#代码.
有Union和Concat两个函数List<int> listA = new List<int> 1, 4, 8, 9, 7, 8, 3 ;
List<int> listB = new List<int> 13, 4, 17, 29, 2 ;
List<int> ResultA = listA.Union(listB).ToList<int>(); //剔除重复项
List<int> ResultB = listA.Concat(listB).ToList<int>(); //保留重复项 参考技术A List<int> list1 = new List<int> 1, 2, 3, 4, 5 ;
List<int> list2 = new List<int> 6, 7, 8, 9, 10 ;
List<int> list3 = new List<int>();
for (int i = 0; i < list1.Count; i++)
list3.Add(list1[i] + list2[i]);
本回答被提问者采纳 参考技术B 我假设你List中存放的是int型
List<int> list3 = new List<int>();
int length = Math.Min(list1.Count, list2.Count);
for (int i = 0; i < length; i++)
list3.Add(list1[i] + list2[j]);
参考技术C var t = list1.Select(p => p + list3[list1.FindIndex(item => item.Equals(p))]).ToList();
合并两个数组,并且把相同的数值覆盖掉
java中如何将两个数组合并,并将其中相同的值覆盖(一维数组)
java中合并数组,去掉重复的数据,可以使用set集合来取出,因为set是保存不可重复的数据的,实例如下:
public class testpublic static void main(String[] args)
Set set=new TreeSet();//set集合,用来去掉重复的数据
List list1=new ArrayList();//第一个集合
list1.add(5);
list1.add(3);
list1.add(1);
List list2=new ArrayList();//第二个集合
list1.add(6);
list1.add(3);
list1.add(0);
set.addAll(list1);//将list放入set集合里面
set.addAll(list2);
for(Object obj:set)
System.out.println(obj);
参考技术A 可以先将两个数组的元素放进HashSet集合里面。Set里面是不允许有重复元素的。再通过toArray()方法转集合为数组就行了。代码如下:public static void main(String[] args)
// TODO Auto-generated method stub
String[] strTemp1="abc","bcd","cde","def";
String[] strTemp2="bcd","aaa","ccc","def","bbb","eee";
HashSet<String> hs = new HashSet<String>();
for(String s:strTemp1)
hs.add(s);
for(String s:strTemp2)
hs.add(s);
Object[] obj = hs.toArray();
String[] strTemp = new String[obj.length];
for(int i = 0;i<strTemp.length;i++)
strTemp[i] = obj[i].toString();
for(String s:strTemp)
System.out.println(s);
参考技术B public class TestWenwen
public static void main(String arg[])
int[] arr = new int[]1,2,3,4,5,6,7;
int[] arr2 = new int[]5,6,7,8,9;
int[] arr3 = new int[arr.length+arr2.length];
System.arraycopy(arr, 0, arr3, 0, arr.length); //将arr中的元素copy到arr3中
int j=0;
for(int i=0;i<arr2.length;i++)
if(!arrayContains(arr, arr2[i]))
arr3[arr.length+(j++)] = arr2[i];
for(int i=0;i<arr3.length;i++)
System.out.println(arr3[i]);
/**
* 数组中是否有该元素
*
* @param a
* 数组
* @param b
* 元素
* @return
*/
public static boolean arrayContains(int[] a, int b)
if (a == null)
return false;
for (int i = 0; i < a.length; i++)
if (a[i] == b)
return true;
return false;
/**
* 数组中是否有该元素
*
* @param a
* 数组
* @param b
* 元素
* @return
*/
public static boolean arrayContains(String[] a, String b)
if (a == null)
return false;
for (int i = 0; i < a.length; i++)
if (a[i].equals(b))
return true;
return false;
以上是关于C# 如何把两个list的元素相加的主要内容,如果未能解决你的问题,请参考以下文章