c#实例源代码(9页).doc
-c#实例源代码-第 9 页【实例1-1】using System;using System.Collections.Generic;using System.Text;namespace _ class Program static void Main(string args) System.Console.WriteLine("恭喜你,学会了C#编程!"); System.Console.ReadLine();【实例1-2】private void Form1_Load(object sender, EventArgs e) this.Text="这是一窗口!"Label lbShow = new Label();lbShow.Location = new Point(40,50);lbShow.AutoSize = true;lbShow.Text = "恭喜你学会编程了!"this.Controls.Add(lbShow); int x, y;x = new int5 1,2,3,4,5;y = new int5;y = x;foreach (int a in y)lbShow.Text += a.ToString();this.Controls.Add(lbShow);【实例2-1】using System;using System.Windows.Forms;namespace TestEnum public partial class TestEnum : Form /Visual Studio .Net自动生成的构造函数,后文示例将全部省略 public TestEnum() InitializeComponent(); enum MyEnum a = 101, b, c, d = 201, e, f ; /声明枚举型 private void TestEnum_Load(object sender, EventArgs e) MyEnum x = MyEnum.f; /使用枚举型 MyEnum y = (MyEnum)202; string result ="枚举数x的值为" result += (int)x; /将x转换为整数 result += "n枚举数y代表枚举元素" + y; lblShow.Text = result;【实例2-2】using System;using System.Windows.Forms;namespace TestStru public partial class TestStru : Form struct Student /声明结构型 /声明结构型的数据成员 public int no; public string name; public char sex; public int score; /声明结构型的方法成员 public string Answer() string result="该学生的信息如下:" result += "n学号:" + no; /"n"为换行符 result += "n姓名:"+ name; result += "n性别:"+ sex; result += "n成绩:"+ score; return result; /返回结果 private void TestEnum_Load(object sender, EventArgs e) Student s; /使用结构型 s.no = 101; s.name = "黄海" s.sex = '男' s.score = 540; lblShow.Text = s.Answer(); /显示该生信息 lblShow.Text += "nn"+DateTime.Now; /显示当前时间【实例2-3】using System;class TestConstant static void Main(string args) Console.WriteLine(0).GetType(); /有符号的32位整型常量 Console.WriteLine(0U).GetType(); /无符号的32位整型常量 Console.WriteLine(0L).GetType(); /64位的长整型常量 Console.WriteLine(0F).GetType(); /32位的浮点型常量 Console.WriteLine(0D).GetType(); /64位的双精度型常量 Console.WriteLine(0M).GetType(); /128位的小数型常量 Console.WriteLine('0').GetType(); /16位的字符型常量 Console.WriteLine("0").GetType(); /字符串常量 Console.WriteLine(0.0).GetType(); /64位的双精度型常量 Console.WriteLine(true).GetType(); /布尔型常量 Console.WriteLine('u0041').GetType(); /16位的字符型常量Console.ReadLine();【实例2-4】using System;class TestVariable static void Main(string args) int a = 12, b = 15, c, d, e; c = a + b; d = a - b; e = a * b; Console.WriteLine("c=0td=1te=2", c, d, e);【实例2-5】using System;using System.Windows.Forms;namespace TestVariable public partial class TestOperator : Form private void TestVariable_Load(object sender, EventArgs e) int i = 5, j = 5, p, q; p = (i+) + (i+) + (i+); q = (+j) + (+j) + (+j); string t = " " lblShow.Text = i + t + j + t + p + t + q;【实例2-6】using System;using System.Windows.Forms;namespace TestVariable public partial class TestOperator : Form private void TestVariable_Load(object sender, EventArgs e) int a, b = 5; char c1 = 'A' a = c1; /字符型转整型 float x = 3; x += b; /整型转浮点型 lblShow.Text = "a=" + a; /整型转为字符串 lblShow.Text += "nx=" + x; /浮点型转为字符串【实例2-7】using System;using System.Windows.Forms;namespace TestVariable public partial class TestOperator : Form private void TestVariable_Load(object sender, EventArgs e) int i = 25, j = 12; bool k; string result = " i!=j的值为" + (i != j); result += "n i!=j && i>=j的值为" + (i != j && i >= j); result += "n i!=j && i>=j+20的值为" +(i != j && i >= j + 20); result += "n k = i!=j && i>=j的值为" + (i != j && i >= j); lblShow.Text = result;【实例2-8】using System;using System.Windows.Forms;namespace TestInterface public partial class TestInterface : Form interface IStudent /声明接口 string Answer(); class Student : IStudent /声明类,以实现接口 public int no; public string name; public string Answer() string result = "该学生信息如下:" result += "n学号:" + no; result += "n姓名:" + name; return result; private void btnOk_Click(object sender, EventArgs e) Student a = new Student(); /定义并初始化变量a a.no = Convert.ToInt32(txtStuID.Text); a.name = txtName.Text; lblShow.Text = a.Answer();【实例2-9】using System;class HelloWorld public string HelloCN() return "你好!我是Jackson,中国人。" public string HelloEN() return "Hi! I am Jackson, a American."class TestDelegate delegate string MyDelegate(); /声明委托 static void Main(string args) HelloWorld hello = new HelloWorld(); /创建对象 MyDelegate h = new MyDelegate(hello.HelloCN); /创建委托对象并指向一个方法 Console.WriteLine(h(); /通过委托对象调用所指向的方法 h = new MyDelegate(hello.HelloEN); Console.WriteLine(h();【实例2-10】using System;class TestArray static void Main(string args) int x,y; /声明数组 x = new int5 1,5,3,2,4; /初始化数组 y = new int5; Array.Copy(x, y, 5); /将数组x的5个元素复制到数组y中 Console.WriteLine("成功地从数组x复制到数组y,数组y各元素值如下:"); for (int i = 0; i < y.Length; i+) Console.Write("0t", yi); Array.Sort(x); /将数组x的元素排序 Console.WriteLine("n经过排序后,数组x各元素值如下:"); for (int i = 0; i < x.Length; i+) Console.Write("0t", xi);【实例2-11】using System;using System.Windows.Forms;using System.Text;namespace TestString public partial class TestString : Form private void TestString_Load(object sender, EventArgs e) string s; /定义字符串变量 StringBuilder sb = new StringBuilder(); /创建可变字符串对象 sb.Append("北运"); /添加字符串 sb.Insert(1, "京奥"); /插入字符串 s = sb.ToString(); /把可变字符串对象转化为字符串 s = s.Insert(s.Length, "2008"); lblShow.Text =""" + s + ""长度为" + s.Length;【实例2-12】using System;using System.Windows.Forms;namespace TestIf public partial class TestInterface : Form private void btnOk_Click(object sender, EventArgs e) char c = Convert.ToChar(txtChar.Text); /字符串转换为字符型 if (Char.IsLetter(c) if (Char.IsLower(c) lblShow.Text = "这是一个小写字母。" else if (Char.IsUpper(c) lblShow.Text ="这是大写字母。" else lblShow.Text ="这是中文字符。" else lblShow.Text ="这不是语言文字。"【实例2-13】using System;class TestSwitch static void Main() Console.WriteLine("服装类别: 1=休闲装 2=西装 3=皮衣"); Console.Write("请选择类别: "); string s = Console.ReadLine(); int n = Convert.ToInt16(s); /把数字形式的字符串转化为整型数 int t,cost = 0; /t用来记录数量,cost用来记录金额 switch (n) case 1: Console.Write("休闲装的套数:"); s = Console.ReadLine(); t = Convert.ToInt16(s); cost = t * 150; break; case 2: Console.Write("西装的套数:"); s = Console.ReadLine(); t = Convert.ToInt16(s); cost = t * 300; break; case 3: Console.Write("皮衣的件数:"); s = Console.ReadLine(); t = Convert.ToInt16(s); cost = t * 600; break; default: Console.WriteLine("无效选择,请输入1、2或 3!"); break; if (cost != 0) Console.WriteLine("应付款0元.", cost); Console.WriteLine("谢谢您的惠顾!");【实例2-14】using System;using System.Windows.Forms;namespace TestWhile public partial class TestWhile : Form public TestWhile() /Visual Studio .Net自动生成的构造函数 InitializeComponent(); private void TestWhile_Load(object sender, EventArgs e) int i,sum; i=1; /循环变量赋初值 sum=0; while(i<=100) /循环条件 /循环体 sum=sum+i; i+; /改变循环变量的值 MessageBox.Show("1到100的自然数之和="+sum); /显示计算结果【实例2-15】using System;class TestDoWhile static void Main() char c; int n = 0; Console.WriteLine("请输入一行字符:"); do c =(char)Console.Read(); if (c >= 'A' && c <= 'Z' | c >= 'a' && c <= 'z') n+; while (c != 'n'); Console.WriteLine("该行中英文字母的个数为:0", n); 【实例2-16】using System;using System.Windows.Forms;namespace TestFor public partial class TestFor : Form public TestFor() InitializeComponent(); private void TestWhile_Load(object sender, EventArgs e) int i; int t; long s1, s2; s1 = t = 1; /*百万富翁第一天给陌生人的钱为1分*/ s2 = 100000; /*陌生人第一天给百万富翁的钱为十万元*/ for (i = 2; i <= 30; i+) t = t * 2; /*百万富翁第i天给陌生人的钱*/ s1 = s1 + t; /*百万富翁第i天后共给陌生人的钱*/ s2 = s2 + 100000; /*陌生人第i天后共百万富翁的钱*/ s1 = s1 / 100; /*将百分富翁给陌生人的分币换成元*/ MessageBox.Show("百万富翁给陌生人"+s1+"元。n陌生人给百万富翁"+s2+"元。" );【实例2-17】using System;class TestForeach static void Main() string names = new string5; Console.WriteLine("请输入五个人的姓名:"); for (int i = 0; i < names.Length; i+) namesi=Console.ReadLine(); Console.WriteLine("已输入的姓名如下,请核对:"); foreach (string name in names) Console.Write("0t", name);【实例2-18】using System;class TestForeach static void Main() int i, j, k; for (i = 0; i < 7; i+) /i代表三角形的第i行 for (j = 6 - i; j >= 0; j-) /j表示在第i行左边的第j个空白字符 Console.Write(" "); for (k = 0; k < 2 * i + 1; k+) /k表示在第i行的第k个星号字符, Console.Write("*"); Console.Write("n");【实例2-21】using System;class TestGoto static void Main() char c; for(int i=0;i<80;i+) /最多输入80个字符 c=(char)Console.Read(); if(c='*') break; /一旦输入星号就结束 Console.Write(c);【实例2-22】using System;class TestContinue static void Main() char ch_old,ch_new; ch_old='.' Console.WriteLine("请输入一串字符,以句号结尾:"); do ch_new = (char)Console.Read(); if(ch_new = ch_old) continue; Console.Write(ch_new); ch_old=ch_new; while(ch_new!='.'); Console.Write("n");