本文整理汇总了C#中MultiDimensionalArray.Move方法的典型用法代码示例。如果您正苦于以下问题:C# MultiDimensionalArray.Move方法的具体用法?C# MultiDimensionalArray.Move怎么用?C# MultiDimensionalArray.Move使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MultiDimensionalArray
的用法示例。
在下文中一共展示了MultiDimensionalArray.Move方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: MoveDimensionAtGivenIndexAndLength
public void MoveDimensionAtGivenIndexAndLength()
{
var values = new List<int> { 1, 2, 3, 4 };
IMultiDimensionalArray<int> array = new MultiDimensionalArray<int>(values, new[] { 1, 4 });
var view = array.Select(1, 2, 3); // select { 1, 2, [3, 4] }
// move 2nd dimension index
var dimension = 1;
var startIndex = 1;
var length = 2;
var newIndex = 0;
array.Move(dimension, startIndex, length, newIndex); // 1, 2, 3, 4 => 2, 3, 1, 4
// 2, 3, [1, 4]
Assert.IsTrue(view.SequenceEqual(new[] { 1, 4 }));
}
示例2: MoveValuesToStart
public void MoveValuesToStart()
{
var values = new List<int> {1, 2, 3, 4, 5};
var array = new MultiDimensionalArray<int>(values, new[] {5});
// move 2nd dimension index
var dimension = 0;
var startIndex = 3;
var length = 2;
var newIndex = 0;
int callCount = 0;
array.CollectionChanged += delegate
{
callCount++;
};
array.Move(dimension, startIndex, length, newIndex);
Assert.AreEqual(new[] {4, 5, 1, 2, 3}, array);
//every value changed
Assert.AreEqual(5,callCount);
}
示例3: MoveSingleValueToEnd
public void MoveSingleValueToEnd()
{
var values = new List<int> { 20, 30, 50 };
var array = new MultiDimensionalArray<int>(values, new[] { 3});
// move 2nd dimension index
var dimension = 0;
var startIndex = 0;
var length = 1;
var newIndex = 2;
int callCount = 0;
array.CollectionChanged += delegate { callCount++; };
array.Move(dimension, startIndex, length, newIndex);
Assert.AreEqual(new[] { 30, 50,20},array);
Assert.AreEqual(3,callCount);
}
示例4: MoveDimensionToBeginAtGivenIndexAndLength
public void MoveDimensionToBeginAtGivenIndexAndLength()
{
var values = new List<int> { 1, 2, 3, 4, 5 };
var array = new MultiDimensionalArray<int>(values, new[] { 5 });
// move 2nd dimension index
var dimension = 0;
var startIndex = 2;
var length = 2;
var newIndex = 0;
int callCount = 0;
array.CollectionChanged += delegate { callCount++; };
array.Move(dimension, startIndex, length, newIndex);
Assert.IsTrue(array.SequenceEqual(new[] { 3, 4, 1, 2, 5 }));
Assert.AreEqual(4,callCount);
}
示例5: MoveDimensionAtGivenIndexAndLength
public void MoveDimensionAtGivenIndexAndLength()
{
var values = new List<int> { 1, 2, 3, 4, 5 };
var array = new MultiDimensionalArray<int>(values, new[] {1, 5 });
// move 2nd dimension index
var dimension = 1;
var startIndex = 1;
var length = 2;
var newIndex = 3;
array.Move(dimension, startIndex, length, newIndex);
Assert.IsTrue(array.SequenceEqual(new[] { 1, 4, 5, 2, 3 }));
}
示例6: ReadOnlyMove
public void ReadOnlyMove()
{
var array = new MultiDimensionalArray(true, false, 1, new[] { 1 }, new[] { 1 });
array.Move(0, 0, 0,0);
}