📄 sample42.cs
字号:
namespace apiBook
{
using System;
using System.Collections;
public class TestStackClass
{
public static void Main()
{
TestStackClass t=new TestStackClass();
Stack testS = new Stack();
testS.Push( "six" );
//使用Push方法添加元素
testS.Push( "five" );
testS.Push( "four" );
testS.Push( "three" );
testS.Push( "two" );
testS.Push( "one" );
Console.WriteLine("当前Stack对象的元素:");
t.PrintValues(testS,',');
Array testArray=Array.CreateInstance( typeof(String), 10 );
testArray.SetValue( "seven", 6 );
testArray.SetValue( "eight", 7 );
Console.WriteLine( "数组的元素:" );
t.PrintArrayValues(testArray,',');
testS.CopyTo(testArray,0);
//使用CopyTo方法将Stack的元素拷贝到数组
Console.WriteLine("将栈的元素拷贝到数组后,数组元素为:");
t.PrintArrayValues(testArray,',');
Object[] objArray = testS.ToArray();
Console.WriteLine( "由stack对象转化来的数组元素:" );
t.PrintValues( objArray, ' ' );
testS.Pop();
//使用Pop方法删除一个元素
Console.WriteLine("当前的Stack对象执行一次Pop方法后,元素为:");
t.PrintValues(testS,',');
Console.WriteLine("执行Peek得:"+testS.Peek());
//使用Peek方法获取一个元素但不删除它
Console.WriteLine("执行Peek方法后该对象的元素:");
t.PrintValues(testS,',');
Console.WriteLine("当前Stack对象是否包含值six?"+testS.Contains("six"));
//使用Contains方法查看Stack对象里是否包含该值
testS.Clear();
Console.WriteLine("执行Clear后,Stack对象元素:");
t.PrintValues(testS,',');
}
public void PrintArrayValues( Array array, char separator )
{
IEnumerator testEnumerator = array.GetEnumerator();
int i = 0;
int count = array.GetLength( array.Rank - 1 );
while ( testEnumerator.MoveNext() )
{
if ( i < count)
{
i++;
}
else
{
Console.WriteLine();
i = 1;
}
Console.Write( " "+testEnumerator.Current+separator );
}
Console.WriteLine();
}
public void PrintValues( IEnumerable stack ,char sequarer)
{
IEnumerator testEnumerator = stack.GetEnumerator();
while ( testEnumerator.MoveNext() )
Console.Write( " "+testEnumerator.Current +sequarer);
Console.WriteLine();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -