一、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+"\t"+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();
//写一个函数能比较大小
//三个数比较大小
double a=3;
double b=5,c=2;
Program hanshu=new Program();
double max=hanshu.Max(hanshu.Max(a,b),c);
Console.WriteLine(max);
Console.ReadLine();