标签:
将百分制转化为五分制,若输入的百分制成绩超出0-100,程序抛出异常
需要用户自定义异常类OverflowRange,通过Throw new OverflowRange来实现
结果如图示:
代码:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace _71 { class overflowRange:ApplicationException///声明新的异常类 { public overflowRange(string msg) : base(msg) { }///声明带参数的构造函数,并向基类传递参数 } class Program { static void Main(string[] args) { try { Console.WriteLine("请输入一个0-100之内的分数"); double x = double.Parse(Console.ReadLine()); if (x < 0) throw new overflowRange("百分制分数不能小于0!"); else if (x > 100) throw new overflowRange("百分制分数不能小于100!"); Console.WriteLine("百分制转化为五分制后分数是:{0}", x / 20); } catch (FormatException)///捕获数据类型转换异常 { Console.WriteLine("必须输入数字!"); } catch (overflowRange e)///捕获自定义异常 { Console.WriteLine(e.Message); } catch (Exception e)///最后捕获其他类型的异常 { Console.WriteLine(e.Message); } Console.ReadKey(); } } }
委托实例
定义骑自行车的方法DriverBicycle()和骑摩托车的方法DriveMotorcycle()方法,这两个方法能够实现某人到达某地的骑行方式,用委托实现
结果如图:
代码:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 委托实例412 { delegate string go(string people,string place);///声明 class MyClass { public static string DriveBicycle(string driver, string destination) { return driver += " go to " + destination + " by Bicycle"; } public static string DriveMotorcycle(string driver, string destination) { return driver += " go to " + destination + " by DriveMotorcycle"; } } class Program { static void Main(string[] args) { go d = new go(MyClass.DriveMotorcycle);///创建对象 Console.WriteLine(d("Jack", "school"));///调用 d += new go(MyClass.DriveBicycle); Console.WriteLine(d("Mike", "university")); Console.ReadKey(); } } }
接口:
如图:
代码:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 接口实例414 { public interface IPerson///定义了接口 { void eat(); void sleep(); } public class Student : IPerson///Student类继承了接口IPerson { public void eat() { Console.WriteLine("去餐厅吃"); } public void sleep() { Console.WriteLine("回宿舍睡觉"); } } class Program { static void Main(string[] args) { Student st = new Student(); st.eat(); st.sleep(); Console.ReadKey(); } } }
枚举:
如图:
代码:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 枚举实例 { enum Color { Red, Yellow, Green } class TrafficLight { public static void WhatInfo(Color color) { switch ((int)(color)) { case 0: Console.WriteLine("Stop"); break; case 1: Console.WriteLine("Warning"); break; case 2: Console.WriteLine("Go"); break; default: Console.WriteLine("有误"); break; } } } class Program { static void Main(string[] args) { Color c = Color.Red; Console.WriteLine(c.ToString()); TrafficLight.WhatInfo(c); Console.ReadKey(); } } }
泛型类:
如图:
代码:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 泛型类 { class MySwap<T> { public void Swap(ref T x, ref T y) { T temp; temp = x; x = y; y = temp; } } class Program { static void Main(string[] args) { double a = 12.5, b = 7.5; double x = 1.2, y = 3.4; MySwap<double> ms = new MySwap<double>(); ms.Swap(ref a,ref b); Console.WriteLine("交换之后:a={0},b={1}",a,b); ms.Swap(ref x, ref y); Console.WriteLine("交换之后:x={0},y={1}", x, y); Console.ReadKey(); } } }
泛型结构:
如图:
代码:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 泛型结构 { struct Point<T> { public T x; public T y; } class Program { static void Main(string[] args) { Point<double> point = new Point<double>(); point.x = 10.1; point.y = 11; Console.WriteLine("x={0},y={1}",point.x,point.y); Point<int> p = new Point<int >(); p.x = 1; p.y = 2; Console.WriteLine("x={0},y={1}", p.x, p.y); Console.ReadKey(); } } }
泛型方法:
如图:
代码:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 泛型方法 { class MyClass { public static void Swap<T>(ref T x, ref T y) where T : IComparable { T t; t = x; x = y; y = t; Console.WriteLine("x={0},y={1}",x,y); } } class Program { static void Main(string[] args) { int x= 2, y = 3; MyClass.Swap<int>(ref x,ref y); double a = 2.3, b = 3.4; MyClass.Swap<double>(ref a, ref b); string m = "abc", n = "xyz"; MyClass.Swap<string>(ref m, ref n); Console.ReadKey(); } } }
泛型方法:
创建一个静态类,在其中自定义一个泛型方法,实现查找数组元素的功能
如图:
代码:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 泛型方法实现元素查找 { class Find { public static void find<T>(T x, T[] a)where T:IComparable { for (int i = 0; i <a.Length; i++) { if (a[i].Equals(x)) { Console.WriteLine("要查找的元素位置是第{0}个",i+1); } } } } class Program { static void Main(string[] args) { int x=3; int []a={2,3,4,7,6}; Find.find<int>(x,a); Console.ReadKey(); } } }
泛型约束:
运行如图:
代码:
using System; using System.Collections.Generic; using System.Collections; using System.Linq; using System.Text; namespace 泛型约束 { class Myclass { public static void Sort<T>(T s) where T : ArrayList///泛型约束,T适用于ArrayList集合 { s.Sort(); } } class Program { static void Main(string[] args) { ArrayList al = new ArrayList();///申请一个动态数组 int[] a = {1,2,3,6,5,4 }; al.AddRange(a);///将a加入动态数组 Myclass.Sort<ArrayList>(al);///将动态数组元素排序 foreach (int item in al) { Console.WriteLine(item); } Console.ReadKey(); } } }
标签:
原文地址:http://blog.csdn.net/a716121/article/details/51262590