本文整理汇总了C#中MultiDimensionalArray.Resize方法的典型用法代码示例。如果您正苦于以下问题:C# MultiDimensionalArray.Resize方法的具体用法?C# MultiDimensionalArray.Resize怎么用?C# MultiDimensionalArray.Resize使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MultiDimensionalArray
的用法示例。
在下文中一共展示了MultiDimensionalArray.Resize方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ChangeSizeOfLastDimension
public void ChangeSizeOfLastDimension()
{
//we don't use interface because want to check stride
var array = new MultiDimensionalArray();
array.Resize(2, 1);
array[0, 0] = 1; // 0 + 0
array[1, 0] = 2; // 2 + 0
// 1 1 <= stride
Assert.AreEqual(new[] { 1, 1 }, array.Stride);
log.InfoFormat("Before resize: {0}", array.ToString());
array.Resize(new[] { 2, 2 });
log.InfoFormat("After resize: {0}", array.ToString());
Assert.AreEqual(2, array.Rank);
Assert.AreEqual(4, array.Count);
Assert.AreEqual(1, array[0, 0]);
Assert.AreEqual(2, array[1, 0]);
Assert.IsNull(array[0, 1]);
Assert.IsNull(array[1, 1]);
}
示例2: ChangeSizeOfFirstDimension
public void ChangeSizeOfFirstDimension()
{
IMultiDimensionalArray array = new MultiDimensionalArray();
array.Resize(1, 2);
array[0, 0] = 1; // 0 + 0
array[0, 1] = 2; // 0 + 1
// 2 1 <= stride
log.InfoFormat("Before resize: {0}", array.ToString());
array.Resize(new[] { 2, 2 });
log.InfoFormat("After resize: {0}", array.ToString());
Assert.AreEqual(2, array.Rank);
Assert.AreEqual(4, array.Count);
Assert.AreEqual(1, array[0, 0]);
Assert.AreEqual(2, array[0, 1]);
Assert.IsNull(array[1, 0]);
Assert.IsNull(array[1, 1]);
}
示例3: Bind2D
public void Bind2D()
{
IMultiDimensionalArray array = new MultiDimensionalArray();
array.Resize(2, 2);
array[0, 0] = 5;
array[1, 1] = 2;
DataGridView gridView = new DataGridView();
MultiDimensionalArrayBindingList multiDimensionalArrayBindingList = new MultiDimensionalArrayBindingList(array);
gridView.DataSource = multiDimensionalArrayBindingList;
Form form = new Form();
gridView.Dock = DockStyle.Fill;
form.Controls.Add(gridView);
WindowsFormsTestHelper.ShowModal(form);
}
示例4: InsertOneRowInEmptyMatrix
[NUnit.Framework.Category(TestCategory.WorkInProgress)] //not required yet?
public void InsertOneRowInEmptyMatrix()
{
IMultiDimensionalArray array = new MultiDimensionalArray(2,2);
array.Clear();
array.Resize(2,2);
array.InsertAt(0, 0, 2, new List<double> { 1.0, 2.0 });
Assert.AreEqual(array[0, 0], 1.0);
Assert.AreEqual(array[1, 0], 2.0);
}
示例5: PerformanceChangeSizeOfFirstDimensions_WithoutEvents
public void PerformanceChangeSizeOfFirstDimensions_WithoutEvents()
{
DateTime t = DateTime.Now;
// increasing the 1st dimension should be fast.
// For example when we add a new measurement for a 3x3 grid
IMultiDimensionalArray array = new MultiDimensionalArray<int>(0, 5, 5);
array.FireEvents = false;
//add more data throught and increase the 1st dimenion-size
const int valuesToAdd = 100000;
for (int i = 0; i < valuesToAdd; i++)
{
array.Resize(new[] { i + 1, 5, 5 });
array[i, 1, 1] = 5; //everywhere a five.
}
double dt = DateTime.Now.Subtract(t).TotalMilliseconds;
Assert.Less(dt, 300);
log.DebugFormat("Added {0} values in {1} ms", valuesToAdd, dt);
for (int i = 0; i < valuesToAdd - 1; i++)
{
Assert.AreEqual(5, array[i, 1, 1]);
}
}
示例6: PerformanceChangeSizeOfFirstDimensions_WithoutEvents
public void PerformanceChangeSizeOfFirstDimensions_WithoutEvents()
{
// increasing the 1st dimension should be fast.
// For example when we add a new measurement for a 3x3 grid
IMultiDimensionalArray array = new MultiDimensionalArray<int>(0, 5, 5);
array.FireEvents = false;
//add more data throught and increase the 1st dimenion-size
const int valuesToAdd = 100000;
Action action = delegate
{
for (int i = 0; i < valuesToAdd; i++)
{
array.Resize(new[] {i + 1, 5, 5});
array[i, 1, 1] = 5; //everywhere a five.
}
};
TestHelper.AssertIsFasterThan(325, action);
for (int i = 0; i < valuesToAdd - 1; i++)
{
Assert.AreEqual(5, array[i, 1, 1]);
}
}
示例7: AddEmptyDimensionToArray
public void AddEmptyDimensionToArray()
{
IMultiDimensionalArray<double> array = new MultiDimensionalArray<double>(2, 2);
array.Resize(2, 2, 0);
Assert.AreEqual(0, array.Count);
}
示例8: Resize
public void Resize()
{
IMultiDimensionalArray<int> array = new MultiDimensionalArray<int>();
array.Resize(new[] { 3 });
}
示例9: ShapeCalculationWithStartAndEndOffset
public void ShapeCalculationWithStartAndEndOffset()
{
IMultiDimensionalArray array = new MultiDimensionalArray(3, 3);
//skip first element in both dimensions
IMultiDimensionalArrayView subArray = new MultiDimensionalArrayView(array);
subArray.OffsetStart[0] = 1;
subArray.OffsetStart[1] = 1;
Assert.IsTrue(subArray.Shape.SequenceEqual(new int[2] {2, 2}));
//skip last element for both dimensions
subArray = new MultiDimensionalArrayView(array);
subArray.OffsetEnd[0] = 1;
subArray.OffsetEnd[1] = 1;
Assert.IsTrue(subArray.Shape.SequenceEqual(new int[2] {2, 2}));
//skip last and first element for both dimensions
subArray = new MultiDimensionalArrayView(array);
subArray.OffsetEnd[0] = 1;
subArray.OffsetEnd[1] = 1;
subArray.OffsetStart[0] = 1;
subArray.OffsetStart[1] = 1;
Assert.IsTrue(subArray.Shape.SequenceEqual(new int[2] {1, 1}));
//skip first element in both dimensions and resize parent
subArray = new MultiDimensionalArrayView(array);
subArray.OffsetStart[0] = 1;
subArray.OffsetStart[1] = 1;
//resize the parent array
array.Resize(new[] {4, 4});
Assert.IsTrue(subArray.Shape.SequenceEqual(new int[2] {3, 3}));
}
示例10: DefaultValueForReferenceTypes
public void DefaultValueForReferenceTypes()
{
IMultiDimensionalArray<string> array = new MultiDimensionalArray<string> { DefaultValue = "dummy" };
array.Resize(2, 2);
Assert.AreEqual("dummy", array[1, 1]);
}
示例11: StrideCalculation
public void StrideCalculation()
{
IMultiDimensionalArray array = new MultiDimensionalArray();
array.Resize(1, 2);
Assert.AreEqual(new[] { 2, 1 }, array.Stride);
}
示例12: CollectionChangeEvents_Shrink
public void CollectionChangeEvents_Shrink()
{
IMultiDimensionalArray array = new MultiDimensionalArray(2, 2);
int collectionChangingEventCount = 0;
int collectionChangedEventCount = 0;
array.CollectionChanging += delegate { collectionChangingEventCount++; };
array.CollectionChanged += delegate { collectionChangedEventCount++; };
array.Resize(1);
Assert.AreEqual(3, collectionChangingEventCount);
Assert.AreEqual(3, collectionChangedEventCount);
}
示例13: DecreaseNumberOfDimensions
public void DecreaseNumberOfDimensions()
{
IMultiDimensionalArray array = new MultiDimensionalArray();
array.Resize(2, 2);
array[0, 0] = 5;
array[1, 1] = 2;
//drop one dimensions
array.Resize(new[] { 2 });
//now we expect the values to be taken from dimidx 0 of the removed dimension
Assert.AreEqual(5, array[0]);
Assert.AreEqual(null, array[1]);
}
示例14: CollectionChangedEventArgsIndexes
public void CollectionChangedEventArgsIndexes()
{
IMultiDimensionalArray array = new MultiDimensionalArray(1, 2, 2);
int callCount = 0;
array.CollectionChanged += delegate(object sender, NotifyCollectionChangedEventArgs e)
{
var args = (MultiDimensionalArrayChangedEventArgs)e;
switch (callCount++)
{
case 0: Assert.IsTrue(new[] { 1, 0, 0 }.SequenceEqual(args.MultiDimensionalIndex));
break;
case 1: Assert.IsTrue(new[] { 1, 0, 1 }.SequenceEqual(args.MultiDimensionalIndex));
break;
case 2: Assert.IsTrue(new[] { 1, 1, 0 }.SequenceEqual(args.MultiDimensionalIndex));
break;
case 3: Assert.IsTrue(new[] { 1, 1, 1 }.SequenceEqual(args.MultiDimensionalIndex));
break;
}
};
array.Resize(new[] { 2, 2, 2 });
}
示例15: ResizeFirstDimension
public void ResizeFirstDimension()
{
IMultiDimensionalArray<int> array = new MultiDimensionalArray<int>();
array.Resize(1);
}