📄 sample31.cs
字号:
namespace apiBook
{
using System;
using System.Collections;
public class TestArrayList
{
public static void Main()
{
TestArrayList test=new TestArrayList();
ArrayList testList = new ArrayList();
testList.Add( "one" );
testList.Add( "two" );
testList.Add( "three" );
testList.Add( "four" );
testList.Add( "V" );
testList.Add( "six" );
Array testA=Array.CreateInstance( typeof(String), 10 );
testA.SetValue( "I", 0 );
testA.SetValue( "II", 1 );
testA.SetValue( "III", 2 );
testA.SetValue( "IV", 3 );
testA.SetValue( "V", 4 );
testA.SetValue( "VI", 5 );
Console.WriteLine( "操作前数组的内容:" );
test.PrintValues( testA, ',' );
Console.WriteLine("将ArrayList第2个元素拷贝到Array作为第二个元素:");
testList.CopyTo( 1, testA,1, 1 );
//使用CopyTo方法进行元素的拷贝
test.PrintValues( testA, ',' );
Console.WriteLine("从ArrayList第4个元素开始拷贝3个元素到Array,下标4开始");
testList.CopyTo(3,testA,3,3);
test.PrintValues( testA, ',' );
Console.WriteLine("将ArrayList整个拷贝到Array中去");
testList.CopyTo( testA );
// Displays the values of the target Array.
test.PrintValues( testA, ',' );
testList=ArrayList.Repeat("C#",5);
Console.WriteLine("IndexOf(\"C#\")="+testList.IndexOf("C#"));
Console.WriteLine("LastIndexOf(\"C#\")="+testList.LastIndexOf("C#"));
//使用Repeat方法创建并初始化一个新的ArrayList对象
test.PrintListValues(testList,',');
int indexL=testList.IndexOf("C#",1);
testList[indexL]="Java";
indexL=testList.LastIndexOf("C#");
testList[indexL]="Dephi";
testList[2]="C++";
testList[3]="VB";
test.PrintListValues(testList,',');
testList.Reverse();
Console.WriteLine("Reverse()操作执行之后:");
test.PrintListValues(testList,',');
testList.Sort(0,5,null);
Console.WriteLine("Sort(0,5,null)操作执行之后:");
test.PrintListValues(testList,',');
Console.WriteLine("当前元素个数是:"+testList.Count);
Console.WriteLine("当前总容量是:"+testList.Capacity);
testList.TrimToSize();
Console.WriteLine("执行TrimToSize操作之后");
Console.WriteLine("当前元素个数是:"+testList.Count);
Console.WriteLine("当前总容量是:"+testList.Capacity);
testList.Insert(3,"C");
Console.WriteLine("Insert(3,\"C\")操作执行之后:");
test.PrintListValues(testList,',');
Console.WriteLine("当前元素个数是:"+testList.Count);
Console.WriteLine("当前总容量是:"+testList.Capacity);
Queue testQ = new Queue();
testQ.Enqueue( "ASP" );
testQ.Enqueue( "JSP" );
testList.InsertRange(3,testQ);
Console.WriteLine("执行InsertRange操作之后");
test.PrintListValues(testList,',');
ArrayList testFix=ArrayList.FixedSize(testList);
Console.WriteLine("固定大小的ArrayList内容:");
test.PrintListValues(testFix,',');
try
{
Console.WriteLine("向固定大小的ArrayList对象添加元素:");
testFix.Add("HTML");
}
catch(Exception e)
{
Console.WriteLine("出现异常:"+e.ToString());
}
Console.WriteLine("修改固定大小的ArrayList对象的元素");
testFix[4]="language";
test.PrintListValues(testFix,',');
testA=null;
testA=testList.ToArray();
Console.WriteLine("ToArray操作执行之后,内容如下:");
test.PrintValues(testA,',');
Console.WriteLine("数组长度为:"+testA.Length);
ArrayList testRead=ArrayList.ReadOnly(testList);
try
{
Console.WriteLine("修改只读的ArrayList元素");
testRead[3]="test";
test.PrintListValues(testRead,',');
}
catch(Exception e)
{
Console.WriteLine("抛出异常:"+e.ToString());
}
Console.ReadLine();
}
public void PrintValues( Array testArray, char separator )
{
System.Collections.IEnumerator testEnumerator = testArray.GetEnumerator();
int i = 0;
int cols = testArray.GetLength( testArray.Rank - 1 );
while ( testEnumerator.MoveNext() )
{
if ( i < cols )
{
i++;
}
else
{
Console.WriteLine();
i = 1;
}
Console.Write( " "+testEnumerator.Current+separator );
}
Console.WriteLine();
}
public void PrintListValues( IEnumerable testList, char separator )
{
IEnumerator testEnumerator = testList.GetEnumerator();
//使用GetEnumerator方法获取枚举数
while ( testEnumerator.MoveNext() )
Console.Write( testEnumerator.Current+" "+separator );
Console.WriteLine();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -