首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

一维数组偏移取值解决办法

2012-02-24 
一维数组偏移取值定义数组double[] arr { 10, 11, 12, 10, 15, 14, 11, 16 }如何能每次取值的时候进行偏

一维数组偏移取值
定义数组double[] arr ={ 10, 11, 12, 10, 15, 14, 11, 16 };
如何能每次取值的时候进行偏移?0-5,1-6,2-7....
如果看不懂我把想要的结果列举出来
在循环之后
第一次循环结束double[] arr1={10,11,12,10,15,14};
第二次循环结束double[] arr1={11,12,10,15,14,11};
第三次循环结束double[] arr1={12,10,15,14,11,16};
.....

清高手帮忙解决一下...



[解决办法]
Array.Copy 方法 (Array, Int32, Array, Int32, Int32) 
  
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) 

http://feiyun0112.cnblogs.com/
[解决办法]

private static double[] GetArray(double[] p_List, int p_StarIndex, int p_EndIndex)
{
int _Count = p_EndIndex - p_StarIndex;

double[] _Return = new double[_Count];
for (int i = 0; i != _Count; i++)
{
_Return[i] = p_List[p_StarIndex + i];
}
return _Return;
}
private void button1_Click(object sender, EventArgs e)
{

double[] arr ={ 10, 11, 12, 10, 15, 14, 11, 16 };

for (int i = 0; i != 3; i++)
{
double[] _OneList = GetArray(arr, i, i+6);
}
}
[解决办法]

探讨
Array.Copy 方法 (Array, Int32, Array, Int32, Int32)

*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)

http://feiyun0112.cnblogs.com/

[解决办法]
C# code
class test{    static void Main()    {        double[] arr ={ 10, 11, 12, 10, 15, 14, 11, 16};         double[] arr2=new double[6];        for(int i=0;i<3;i++)        {            Array.Copy(arr,i,arr2,0,6);                    foreach(double j in arr2)            {            Console.Write(j.ToString()+" ");            }            Console.WriteLine();        }    }    }
[解决办法]
每次循环取值的时候,让第一个元素的下标+1就行了吧,取的长度都是6
[解决办法]
C# code
int count = 6;int start = 0;double[] arr ={ 10, 11, 12, 10, 15, 14, 11, 16 }; double[] result = new double[count];Array.Copy (arr, start, result, 0, count);
[解决办法]
来晚了,上面有答案.
[解决办法]
C# code
            double[] arr = { 10, 11, 12, 10, 15, 14, 11, 16 };            List<double[]> list = new List<double[]>();            for (int i = 0; i < arr.Length - 4; i++)            {                double[] arrTemp = new double[5];                Array.Copy(arr, i, arrTemp, 0, 5);                list.Add(arrTemp);            }
[解决办法]
两个循环。赋值的时候自加就可以了,想好逻辑很简单的~~~代码上面的基本都能用哦。。

热点排行