一传值
传值:将变量名中存放的值进行传输
传值
public void Hanshu(int a)
{
a += 10;
}
主函数里写
Program hanshu = new Program();
hanshu.Hanshu(a);
_______________________________________________________________________________________________________________________________
二。传址
传址:将这个变量名直接传输过去,
若在另一边有赋值情况,这边的值会发生变化
public void hanshu1(int a , out int b,out int c)
{
//int c = a + b;
b = a + 10;
c = b;
}
主函数里写
Program hanshu = new Program();
int a = 5;
int rr;
int tt;
hanshu.hanshu1(a,out rr,out tt);
Console.WriteLine(rr);
用out的传址。一般用不到。
________________________________________________________________________________________________________________________________
三,利用split分割然后利用遍历集合输出。一串字符串的形式
写个函数,传值进去,传姓名、性别、年龄进入
//将年龄+10岁
//反馈回来
public string Fanhui(string name , string sex,int age)
{
age += 10;
return name + "-"+sex +"-"+ age;
}
主函数里写
string s = hanshu.Fanhui("张三","男",33);
string[] aa = s.Split('-');
foreach(string q in aa)
{
Console.WriteLine(q);
}
________________________________________________________________________________________________________________________________
结构体
结构体:自定义类型 值类型
一组变量的组合
需要定义的位置 class里面 main函数外面
里面包含的变量可以是多种数据类型的
________________________________________________________________________________________________________________________________
例题
学生信息的结构体:学号、姓名、性别、分数
struct Student
{
public int xuehao;
public string name;
public string sex;
public Score score;
}
主函数内写
ArrayList al = new ArrayList();
Console.Write("请输入班级人数:");
int a = int.Parse(Console.ReadLine());
for (int i = 0; i < a;i++ )
{
Student sst = new Student();
Console.Write("请输入第{0}个学生的学号:",(i+1));
sst.xuehao = int.Parse(Console.ReadLine()) ;
Console.Write("请输入第{0}个学生的姓名:", (i + 1));
sst.name = Console.ReadLine();
Console.Write("请输入第{0}个学生的性别:", (i + 1));
sst.sex = Console.ReadLine();
Console.Write("请输入第{0}个学生的分数:", (i + 1));
sst.score = double.Parse(Console.ReadLine());
al.Add(sst);
}
Console.WriteLine("所有人员信息输入完毕!请按回车键开始打印!");
Console.ReadLine();
for (int i = 0; i < al.Count;i++ )
{
Student sst = (Student)al[i];
Console.WriteLine("第{0}个学生的学号是:{1},姓名是{2},性别是{3},分数是{4}。",(i+1),sst.xuehao,sst.name,sst.sex,sst.score);
}
________________________________________________________________________________________________________________________________
例二
Console.WriteLine("0.开始购买");
Console.WriteLine("1.洗发水 15元");
Console.WriteLine("2.牙刷 5元");
Console.WriteLine("3.可口可乐 3元");
Console.WriteLine("4.水杯 12元");
Console.WriteLine("5.毛巾 6元");
Console.WriteLine("6.结算(退出)");
请如如购买的商品,打印小票,商品名称,数量单价,单品总价,总价,结账日期,时间,如果不够提示继续缴费,如果多付钱,提示找零。如果刚好,离开超市。
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
namespace 结构体
{
class Program
{
struct Shop
{
public string name;
public double price;
public int shuliang;
}
主函数里边写
Console.WriteLine("0.开始购买");
Console.WriteLine("6.结算(退出)");
Console.Write("请输入号码:");
for (int i = 0; i == 0; )
{
int aa = int.Parse(Console.ReadLine());
if (aa == 0)
{
ArrayList al = new ArrayList();
int biao1 = 0;
for (int j = 0; j == 0; )
{
bool biaocuo = true;
Shop array = new Shop();
Console.Clear();
if (al.Count > 0)
{
for (int k = 0; k < al.Count; k++)
{
Shop yigou = (Shop)al[k];
Console.WriteLine("您选择了{0},单价为{1}元,数量为{2}。", yigou.name, yigou.price, yigou.shuliang);
}
}
Console.WriteLine("1.洗发水 15元");
Console.WriteLine("2.牙刷 5元");
Console.WriteLine("3.可口可乐 3元");
Console.WriteLine("4.水杯 12元");
Console.WriteLine("5.毛巾 6元");
Console.WriteLine("6.结算");
Console.Write("请输入选项:");
int aaa = int.Parse(Console.ReadLine());
switch (aaa)
{
case 1:
array.name = "洗发水";
array.price = 15;
biao1++;
Console.Write("您选择的是洗发水,请问您需要多少瓶?");
break;
case 2:
array.name = "牙刷";
array.price = 5;
biao1++;
Console.Write("您选择的是牙刷,请问您需要多少支?");
break;
case 3:
array.name = "可口可乐";
array.price = 3;
biao1++;
Console.Write("您选择的是可口可乐,请问您需要多少瓶?");
break;
case 4:
array.name = "水杯";
array.price = 12;
biao1++;
Console.Write("您选择的是水杯,请问您需要多少个?");
break;
case 5:
array.name = "毛巾";
array.price = 6;
biao1++;
Console.Write("您选择的是毛巾,请问您需要多少块?");
break;
case 6:
if (biao1 == 0)
{
Console.Clear();
Console.WriteLine("您什么也没有购买,您已经走出了超市。。。");
j = 1;
i = 1;
}
else
{
double zong = 0;
for (int k = 0; k < al.Count; k++)
{
Shop yigou = (Shop)al[k];
Console.WriteLine("您选择了{0}, 单价为{1}元, 数量为{2}, 单品总价:{3} 。", yigou.name, yigou.price, yigou.shuliang, yigou.price*yigou.shuliang);
zong += yigou.price * yigou.shuliang;
}
Console.Write("总价:" + zong + "元。请缴费:");
double erjiao = 0;
for (int l = 0; l == 0; )
{
double jiao = double.Parse(Console.ReadLine());
jiao += erjiao;
if (jiao >= zong)
{
Console.WriteLine("交易成功,交易时间为:" + DateTime.Now);
Console.WriteLine("找零:" + (jiao - zong) + "元。");
Console.WriteLine("谢谢惠顾!再见!");
l = 1;
j = 1;
i = 1;
}
else
{
erjiao = jiao;
Console.Write("缴费金额不足,请继续缴费:");
}
}
}
break;
default:
Console.WriteLine("查无此商品!请按回车键继续选择商品!");
Console.ReadLine();
biaocuo = false;
break;
}
if (i == 0 && j == 0 && biaocuo == true)
{
array.shuliang = int.Parse(Console.ReadLine());
Console.WriteLine("您选择了{0}, 单价为{1}元, 数量为{2}。 请按回车键继续购买!", array.name, array.price, array.shuliang);
al.Add(array);
Console.ReadLine();
}
}
}
else if (aa == 6)
{
Console.Clear();
Console.WriteLine("您什么也没有购买!您已走出超市。。。");
i = 1;
}
else
{
Console.Write("输入有误!请重新输入:");
}
________________________________________________________________________________________________________________________________
//定义一个结构体,存放关于车辆的几个信息
//将所有车的信息都放入集合中
//车型号 价格(W) 轴距 (mm) 油耗(L/100km)
//宝马320Li 38 2920 6.9
//宝马520Li 43 3108 7.2
//宝马730Li 89 3210 6.3
//奥迪A4L35TFSI 31 2869 6.2
//奥迪A6L30TFSI 43 3012 7.6
//奥迪A8L45TFSI 89 3122 8.1
//奔驰C200L 35 2920 6.1
//奔驰E260L 48 3014 6.7
//奔驰S320L 93 3165 8
//所有在售车辆中最便宜的
//求宝马中最便宜的车型是什么,所有信息列出
//选个轴距最长的
//选个轴距最长的,必须是奔驰
//想要一辆油耗最低的车
//想要一辆油耗最低的奥迪车
//我只有50万,看看能买什么车
//我只需要60万以上的车,列出来所有车型和所有信息
//轴距必须超过3m,列列表
//油耗在8.5以下都行,列列表
//我不在乎油耗,要油耗最高的车
ArrayList al = new ArrayList();
Car st = new Car();
st.chexing = "宝马320Li";
st.jiage = 38;
st.zhouju = 2920;
st.youhao = 6.9;
al.Add(st);
Car st1 = new Car();
st1.chexing = "宝马730Li";
st1.jiage = 89;
st1.zhouju = 3210;
st1.youhao = 6.3;
al.Add(st1);
Car st2 = new Car();
st2.chexing = "宝马320Li";
st2.jiage = 38;
st2.zhouju = 2920;
st2.youhao = 6.9;
al.Add(st2);
Car st3 = new Car();
st3.chexing = "奥迪A4L35TFSI";
st3.jiage = 31;
st3.zhouju = 2869;
st3.youhao = 6.2;
al.Add(st3);
Car st4 = new Car();
st4.chexing = "奥迪A6L30TFSI";
st4.jiage = 43;
st4.zhouju = 3012;
st4.youhao = 7.6;
al.Add(st4);
Car st5 = new Car();
st5.chexing = "奥迪A8L45TFSI";
st5.jiage = 89;
st5.zhouju = 3122;
st5.youhao = 8.1;
al.Add(st5);
Car st6 = new Car();
st6.chexing = "奔驰C200L";
st6.jiage = 35;
st6.zhouju = 2920;
st6.youhao = 6.1;
al.Add(st6);
Car st7 = new Car();
st7.chexing = "奔驰E260L";
st7.jiage = 48;
st7.zhouju = 3014;
st7.youhao = 6.7;
al.Add(st7);
Car st8 = new Car();
st8.chexing = "奔驰S320L";
st8.jiage = 93;
st8.zhouju = 3165;
st8.youhao = 8;
al.Add(st8);
for (int i = 0; i < 8; i++)
{
for (int j = 1; j < 9; j++)
{
if (((Car)al[i]).jiage > ((Car)al[j]).jiage)
{
object zhong = al[i];
al[i] = al[j];
al[j] = zhong;
}
}
}
Console.WriteLine("最便宜的车是{0},价格是{1},轴距是{2},油耗是{3}", ((Car)al[0]).chexing, ((Car)al[0]).jiage, ((Car)al[0]).zhouju, ((Car)al[0]).youhao);
ArrayList bao = new ArrayList();
Console.WriteLine("____________________________________________________________________");
for (int k = 0; k < 9; k++)
{
if (((Car)al[k]).chexing.Contains("宝马"))
{
bao.Add(al[k]);
}
}
for (int m = 0; m < bao.Count - 1; m++)
{
for (int j = m + 1; j < bao.Count; j++)
{
if (((Car)bao[m]).jiage > ((Car)bao[j]).jiage)
{
object zhong = bao[m];
bao[m] = bao[j];
bao[j] = zhong;
}
}
}
Console.WriteLine("最便宜的宝马车是{0},价格是{1},轴距是{2},油耗是{3}", ((Car)bao[0]).chexing, ((Car)bao[0]).jiage, ((Car)bao[0]).zhouju, ((Car)bao[0]).youhao);
Console.WriteLine("____________________________________________________________________");
for (int k = 0; k < 8; k++)
{
for (int j = 1; j < 9; j++)
{
if (((Car)al[k]).zhouju > ((Car)al[j]).zhouju)
{
object zhong = al[k];
al[k] = al[j];
al[j] = zhong;
}
}
}
Console.WriteLine("轴距最小的是{0},价格是{1},轴距是{2},油耗是{3}", ((Car)al[0]).chexing, ((Car)al[0]).jiage, ((Car)al[0]).zhouju, ((Car)al[0]).youhao);
Console.WriteLine("____________________________________________________________________");
ArrayList ben = new ArrayList();
for (int k = 0; k < 9; k++)
{
if (((Car)al[k]).chexing.Contains("奔驰"))
{
ben.Add(al[k]);
}
}
for (int m = 0; m < ben.Count - 1; m++)
{
for (int j = m + 1; j < ben.Count; j++)
{
if (((Car)ben[m]).zhouju > ((Car)ben[j]).zhouju)
{
object zhong = ben[m];
ben[m] = ben[j];
ben[j] = zhong;
}
}
}
Console.WriteLine("轴距最小的奔驰车是{0},价格是{1},轴距是{2},油耗是{3}", ((Car)ben[0]).chexing, ((Car)ben[0]).jiage, ((Car)ben[0]).zhouju, ((Car)ben[0]).youhao);
Console.WriteLine("____________________________________________________________________");
for (int k = 0; k < 8; k++)
{
for (int j = 1; j < 9; j++)
{
if (((Car)al[k]).youhao > ((Car)al[j]).youhao)
{
object zhong = al[k];
al[k] = al[j];
al[j] = zhong;
}
}
}
Console.WriteLine("油耗最小的是{0},价格是{1},轴距是{2},油耗是{3}", ((Car)al[0]).chexing, ((Car)al[0]).jiage, ((Car)al[0]).zhouju, ((Car)al[0]).youhao);
Console.WriteLine("____________________________________________________________________");
ArrayList ao = new ArrayList();
for (int k = 0; k < 9; k++)
{
if (((Car)al[k]).chexing.Contains("奥迪"))
{
ao.Add(al[k]);
}
}
for (int m = 0; m < ao.Count - 1; m++)
{
for (int j = m + 1; j < ao.Count; j++)
{
if (((Car)ao[m]).zhouju > ((Car)ao[j]).zhouju)
{
object zhong = ao[m];
ao[m] = ao[j];
ao[j] = zhong;
}
}
}
Console.WriteLine("轴距最小的奔驰车是{0},价格是{1},轴距是{2},油耗是{3}", ((Car)ao[0]).chexing, ((Car)ao[0]).jiage, ((Car)ao[0]).zhouju, ((Car)ao[0]).youhao);
Console.WriteLine("____________________________________________________________________");
for (int k = 0; k < 8; k++)
{
for (int j = 1; j < 9; j++)
{
if (((Car)al[k]).youhao < ((Car)al[j]).youhao)
{
object zhong = al[k];
al[k] = al[j];
al[j] = zhong;
}
}
}
Console.WriteLine("油耗最高的是{0},价格是{1},轴距是{2},油耗是{3}", ((Car)al[0]).chexing, ((Car)al[0]).jiage, ((Car)al[0]).zhouju, ((Car)al[0]).youhao);
Console.WriteLine("____________________________________________________________________");
for (int i = 0; i < al.Count; i++)
{
if (((Car)al[i]).jiage <= 50)
{
Console.WriteLine(((Car)al[i]).chexing + "\t," + ((Car)al[i]).jiage + "\t" + ((Car)al[i]).zhouju + "\t," + ((Car)al[i]).youhao + "\n");
}
}
Console.WriteLine("____________________________________________________________________");
for (int i = 0; i < al.Count; i++)
{
if (((Car)al[i]).jiage > 60)
{
Console.WriteLine(((Car)al[i]).chexing + "\t," + ((Car)al[i]).jiage + "\t," + ((Car)al[i]).zhouju + "\t" + ((Car)al[i]).youhao + "\n");
}
}
Console.WriteLine("____________________________________________________________________");
for (int i = 0; i < al.Count; i++)
{
if (((Car)al[i]).zhouju > 3000)
{
Console.WriteLine(((Car)al[i]).chexing + "\t," + ((Car)al[i]).jiage + "\t" + ((Car)al[i]).zhouju + "\t," + ((Car)al[i]).youhao + "\n");
}
}
Console.WriteLine("____________________________________________________________________");
for (int i = 0; i < al.Count; i++)
{
if (((Car)al[i]).youhao < 8.5)
{
Console.WriteLine(((Car)al[i]).chexing + "\t," + ((Car)al[i]).jiage + "\t" + ((Car)al[i]).zhouju + "\t," + ((Car)al[i]).youhao + "\n");
}
}
Console.ReadLine();
}
}
}
_______________________________________________________________________________________________________________________________