特殊集合与函数

一、Stack集合

栈:stack,先进先出,一个一个赋值,一个一个取值,按顺序

属性和方法:

.count    取集合內元素的个数

.push     将元素一个一个推入集合中

.pop       将元素一个一个弹出集合

.clear      清空集合

示例1

//特殊集合.stack.干草堆, 先推进去的最后才出来

//stack 干草堆
//先进先出 进push 出pop
//初始化
Stack ss = new Stack();
ss.Push(1);
ss.Push(2);
ss.Push(3);
ss.Push(4);
ss.Push(5);
//Console.WriteLine(ss.Pop());//把最后一个进入集合的元素弹出集合
//只查看最后一个进去的值是什么
Console.WriteLine(ss.Peek());

//错误 没有索引号
// Console.WriteLine(ss[0]);
foreach(object aa in ss)
{
Console.Write(aa);
}
//清空集合
//ss.Clear();
Console.ReadLine();

queue队列集合

先进先出,一个一个的赋值一个一个的取值,按照顺序。

属性和方法

.count     取集合內元素的个数

.Enqueue   进队列集合

.Dequeue   出队列集合

.Clear(方法) 清空集合

//queue 队列集合 先进先出
//没有索引
//初始化
Queue que = new Queue();
que.Enqueue(1);
que.Enqueue(2);
que.Enqueue(3);
que.Enqueue(4);
que.Enqueue(5);

que.Dequeue();
Console.WriteLine(que.Peek());//单独查看一个
foreach (object aa in que)
{
Console.WriteLine(aa);
}
Console.ReadLine();

Hashtable 哈希表
先进后出,一个一个赋值,但只能一起取值
属性和方法

.Add(,)             添加key和元素
.Remove()       将括号内的元素移除
.contains()      判断集合中是否有括号内的元素
.count             计算集合中元素的个数

Hashtable ht = new Hashtable();
ht.Add(0, "可口可乐");
ht.Add(1, "雪碧");
ht.Add(2, "百事可乐");
ht.Add(3, "芬达");
ht.Add(4 ,"王老吉");


IDictionaryEnumerator id = ht.GetEnumerator();//枚举类型种的读取 读取成表格样式,横向排列
while (id.MoveNext())
{
Console.WriteLine(id.Key+" "+id.Value);
}

ht.Remove(3);
Console.WriteLine(ht.Contains(2));

foreach (int i in ht.Keys)
{
Console.WriteLine(i);
}
foreach (object b in ht.Values)
{
Console.WriteLine(b);
}
Console.ReadLine();

函数  

一个较大的程序一般应分为若干个程序块,每一个模块用来实现一个特定的功能。所有的高级语言中都有子程序这个概念,用子程序实现模块的功能。在C#语言中,子程序的作用是由一个主函数和若干个函数构成的。由主函数吊用其他的函数,其他函数也可以互相调用。同一个函数可以被一个或多个函数调用任意多次。

在程序设计中,常将一些常用的功能模块编写成函数,放在函数库中供公共使用。要善于利用函数,以减少重复编写程序段的工作量。

函数四要素: 输入(小括号里面有没有参数) 输出   函数体{}花括号包含的语句   函数名(起的名字)

例子:

class Program
{
public void dayin()
{
Console.WriteLine("你好!");
}
static void Main(string[] args)
{
//调用函数 初始化
Program hanshu = new Program();
hanshu.dayin();
Console.ReadLine();

//Random ran=new Random();
//ran.Next();

class Program
{
public void leijia()
{
//第一种:没有参数,没有返回值
Console.Write("请输入一个正整数:");
int a = int.Parse(Console.ReadLine());
int sum = 0;
for (int i = 1; i <= a; i++)
{
sum += i;
}
Console.WriteLine(sum);
Console.ReadLine();

}
//第二种,没有返回值,但是有参数
public void leijia(int a)
{
int sum = 0;
for (int i = 1; i <= a; i++)
{
sum += i;
}
Console.WriteLine(sum);
Console.ReadLine();
}
//第三种,有返回值,有参数
public int Leijia1(int b)
{
int sum = 0;
for (int i = 1; i <=b; i++)
{
sum += i;
}

return sum;
}
//第四种有返回值,没有参数
public int Leijia2()
{
Console.Write("请输入一个正整数:");
int a = int.Parse(Console.ReadLine());
int sum = 0;
for (int i = 1; i <=b; i++)
{
sum += i;
}

return sum;

static void Main(string[] args)
{
Console.Write("请输入一个正整数:");
int a = int.Parse(Console.ReadLine());

//Program hanshu = new Program();
//hanshu.leijia();

//Program hanshu = new Program();
//hanshu.leijia(a);

//Program hanshu = new Program();
//int sum= hanshu.Leijia1(a);
//Console.WriteLine(sum);
//Console.ReadLine();


//Program hanshu = new Program();
//int sum= hanshu.Leijia2();
//Console.WriteLine(sum);
//Console.ReadLine();

Random ran = new Random();
int aa = ran.Next();



原文地址:https://www.cnblogs.com/zzzy0828/p/5626333.html