如何在c#中将一个数组拆分为两个数组?

如何在c#中将一个数组拆分为两个数组?,c#,.net,arrays,split,C#,.net,Arrays,Split,在c语言中如何将一个数组分解为两个数组# 例如,我有一个数组[1,2,3,4,5,6,7,8,9,10] 将其拆分为[1,2,3,4,5]和[6,7,8,9,10]您可以使用以下方法将一个数组拆分为两个单独的数组 public void Split<T>(T[] array, int index, out T[] first, out T[] second) { first = array.Take(index).ToArray(); second = array.Skip(

在c语言中如何将一个数组分解为两个数组#

例如,我有一个数组[1,2,3,4,5,6,7,8,9,10]
将其拆分为[1,2,3,4,5]和[6,7,8,9,10]

您可以使用以下方法将一个数组拆分为两个单独的数组

public void Split<T>(T[] array, int index, out T[] first, out T[] second) {
  first = array.Take(index).ToArray();
  second = array.Skip(index).ToArray();
}

public void SplitMidPoint<T>(T[] array, out T[] first, out T[] second) {
  Split(array, array.Length / 2, out first, out second);
}
public void Split(T[]数组,int索引,out T[]第一,out T[]第二){
first=array.Take(index.ToArray();
second=array.Skip(index.ToArray();
}
public void splitmiddpoint(T[]数组,首先输出T[],第二输出T[]{
拆分(数组,数组.长度/2,先出,后出);
}
用法:

int[] myArray = new int[] { 1,2,3,4,5,6,7,8,9,10 };
int[] newArray1;
int[] newArray2;

SplitMidPoint<int>(myArray, out newArray1, out newArray2);
int[]myArray=newint[]{1,2,3,4,5,6,7,8,9,10};
int[]newArray1;
int[]newArray2;
拆分中点(myArray、out newArray1、out newArray2);

From:

您可以使用以下方法将一个数组拆分为两个单独的数组

public void Split<T>(T[] array, int index, out T[] first, out T[] second) {
  first = array.Take(index).ToArray();
  second = array.Skip(index).ToArray();
}

public void SplitMidPoint<T>(T[] array, out T[] first, out T[] second) {
  Split(array, array.Length / 2, out first, out second);
}
public void Split(T[]数组,int索引,out T[]第一,out T[]第二){
first=array.Take(index.ToArray();
second=array.Skip(index.ToArray();
}
public void splitmiddpoint(T[]数组,首先输出T[],第二输出T[]{
拆分(数组,数组.长度/2,先出,后出);
}
用法:

int[] myArray = new int[] { 1,2,3,4,5,6,7,8,9,10 };
int[] newArray1;
int[] newArray2;

SplitMidPoint<int>(myArray, out newArray1, out newArray2);
int[]myArray=newint[]{1,2,3,4,5,6,7,8,9,10};
int[]newArray1;
int[]newArray2;
拆分中点(myArray、out newArray1、out newArray2);
发件人:

带Linq:

var source = new int[] {1,2,3,4,5,6,7,8,9,10};
var firstHalf = source.Take(source.Length/2).ToArray();
var secondHalf = source.Skip(source.Length/2).ToArray();
与:

林克:

var source = new int[] {1,2,3,4,5,6,7,8,9,10};
var firstHalf = source.Take(source.Length/2).ToArray();
var secondHalf = source.Skip(source.Length/2).ToArray();
与:

使用Linq

var a = new[] {1,2,3,4,5,6,7,8,9,10}
var a1 = a.Take(a.Length / 2).ToArray();
var a2 = a.Skip(a.Length / 2).ToArray();
使用Linq

var a = new[] {1,2,3,4,5,6,7,8,9,10}
var a1 = a.Take(a.Length / 2).ToArray();
var a2 = a.Skip(a.Length / 2).ToArray();

公共静态T[]子数组(此T[]数据,整数索引,整数长度)
{
T[]结果=新的T[长度];
复制(数据、索引、结果、0、长度);
返回结果;
}
公共无效拆分(T[]源,T[]arr1,T[]arr2)
{
if(source.Length==0)
{
arr1=arr2=newt[0];
返回;
} 
int half=source.Length/2;
arr1=源子阵列(0,一半);
arr2=源子阵列(半1,半);
} 


公共静态T[]子数组(此T[]数据,整数索引,整数长度)
{
T[]结果=新的T[长度];
复制(数据、索引、结果、0、长度);
返回结果;
}
公共无效拆分(T[]源,T[]arr1,T[]arr2)
{
if(source.Length==0)
{
arr1=arr2=newt[0];
返回;
} 
int half=source.Length/2;
arr1=源子阵列(0,一半);
arr2=源子阵列(半1,半);
} 

参考此链接,您可能会对[Array][1][1]:可能重复的内容有所了解参考此链接,您可能会对[Array][1][1]:可能重复的内容有所了解