在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
字段与属性.cs
字段与属性.cs
代码
using System;
class Account { private double balance = 0; //字段 public double Balance //属性 { get { return balance; } set { balance = value; } } /*============================================================= * 我们可以通过修改get、set方法达到控制存取的目的。 * 例如: * * 1)只读属性 * public double Balance //属性 * { * get { return balance; } * set { } * } * * 2)读写控制 * public double Balance * { * get * { * if(Console.ReadLine()=="1234") * return balance; * else * return -9999999; * } * set { } * } * ============================================================= */ public void Deposit(double n) { this.balance += n; } public void WithDraw(double n) { this.balance -= n; } } class Client { public static void Main() { Account a = new Account(); a.Balance = 1000; // 可以读写属性,因为属性Balance是public型的 //a.balance = 1000; //不可以读写字段,因为字段balance是private型的 a.WithDraw(500); a.Deposit(2000); Console.WriteLine(a.Balance); } }
属性、方法作用范围.cs
代码
using System;
class Base { /* * public 的可访问范围是所有类 * private 的可访问范围是当前类 * protected 的可访问范围是当前类及其子类 */ public string name = "Tom"; private double salary = 1500; protected int age = 20; public virtual void ShowInfo() { Console.WriteLine(this.name); //可以,因为name是 public 型的 Console.WriteLine(this.salary); //可以,salary是private型,在Base类中可以访问 Console.WriteLine(this.age); //可以,因为age是protected型,在子类中可以访问 } } class Derived : Base { public override void ShowInfo() { Console.WriteLine(this.name); //可以,因为name是 public 型的 //Console.WriteLine(this.salary); //不可以,salary是private型,超出Base就无法访问 Console.WriteLine(this.age); //可以,因为age是protected型,在子类中可以访问 } } class Client { public static void Main() { Base b = new Base(); Console.WriteLine(b.name); //可以,因为name是 public 型的 //Console.WriteLine(this.salary); //不可以,salary是private型,超出Base就无法访问 //Console.WriteLine(this.age); //不可以,因为age是protected型,Client不是Base的子类 Console.WriteLine("=========================="); b.ShowInfo(); Console.WriteLine("=========================="); Derived d = new Derived(); d.ShowInfo(); } }
一加到一百.cs
代码
using System;
class SumToHundred { public static void Main() { int sum = 0; for (int i = 1; i <= 100; i++) sum += i; Console.WriteLine(sum); } }
使用接口排序(2).cs
代码
using System;
using System.Collections; public enum enuSortOrder { IDAsc, IDDesc, RankAsc, RankDesc } public class Person : IComparable { public static enuSortOrder intSortOrder = enuSortOrder.IDAsc; public int ID; public string Rank; public Person(int id, string rank) { this.ID = id; this.Rank = rank; } #region IComparable Members /* * IComparable 接口只有一个方法: CompareTo。CompareTo方法 * 只接收一个object类型的参数,这意味着它可以接收任何类 * 型的数据(object是所有类的父类),这个方法会返回一 * 整型数值,含义如下: * * 1) 小于零,当前实例(this)小于obj对象 * 2) 等于零,当前实例(this)等于obj对象 * 3) 大于零,当前实例(this)大于obj对象 * * Int32,Int16...,String,Decimal等数据类型都已经实现了IComparable接口 */ public int CompareTo(object obj) { Person p = (Person)obj; switch ((int)intSortOrder) { case (int)enuSortOrder.IDAsc: return this.ID.CompareTo(p.ID); case (int)enuSortOrder.IDDesc: return p.ID.CompareTo(this.ID); case (int)enuSortOrder.RankAsc: return RankCompare(this.Rank, p.Rank); case (int)enuSortOrder.RankDesc: return RankCompare(p.Rank, this.Rank); default: return this.ID.CompareTo(p.ID); } } private int RankCompare(string rank1, string rank2) { int intRank1 = ConvertRankToInt(rank1); int intRank2 = ConvertRankToInt(rank2); if (intRank1 < intRank2) return -1; else if (intRank1 == intRank2) return 0; else return 1; } private int ConvertRankToInt(string rank) { if (rank == "司令") return 8; else if (rank == "军长") return 7; else if (rank == "师长") return 6; else if (rank == "旅长") return 5; else if (rank == "团长") return 4; else if (rank == "营长") return 3; else if (rank == "连长") return 2; else return 1; } #endregion } class SortArrayList { static void Main(string[] args) { ArrayList list = new ArrayList(); list.Add(new Person(6, "排长")); list.Add(new Person(3, "团长")); list.Add(new Person(4, "司令")); list.Add(new Person(5, "旅长")); list.Add(new Person(7, "连长")); list.Add(new Person(1, "军长")); list.Add(new Person(2, "营长")); list.Add(new Person(8, "师长")); list.Sort(); Console.WriteLine("Sort By ID Asc:"); foreach (Person person in list) { Console.WriteLine("ID: " + person.ID.ToString() + ", Rank: " + person.Rank); } Console.WriteLine("----------------------------"); Console.WriteLine("Sort By ID Desc:"); Person.intSortOrder = enuSortOrder.IDDesc; list.Sort(); foreach (Person person in list) { Console.WriteLine("ID: " + person.ID.ToString() + ", Rank: " + person.Rank); } Console.WriteLine("----------------------------"); Console.WriteLine("Sort By Rank Asc:"); Person.intSortOrder = enuSortOrder.RankAsc; list.Sort(); foreach (Person person in list) { Console.WriteLine("ID: " + person.ID.ToString() + ", Rank: " + person.Rank); } Console.WriteLine("----------------------------"); Console.WriteLine("Sort By Rank Desc:"); Person.intSortOrder = enuSortOrder.RankDesc; list.Sort(); foreach (Person person in list) { Console.WriteLine("ID: " + person.ID.ToString() + ", Rank: " + person.Rank); } } }
使用接口排序(1).cs
代码
using System;
using System.Collections; public class Person : IComparable { public int ID; public string Rank; public Person(int id, string rank) { this.ID=id; this.Rank = rank; } #region IComparable Members /* * IComparable 接口只有一个方法: CompareTo。CompareTo方法 * 只接收一个object类型的参数,这意味着它可以接收任何类 * 型的数据(object是所有类的父类),这个方法会返回一 * 整型数值,含义如下: * * 1) 小于零,当前实例(this)小于obj对象 * 2) 等于零,当前实例(this)等于obj对象 * 3) 大于零,当前实例(this)大于obj对象 * * Int32,Int16...,String,Decimal等数据类型都已经实现了IComparable接口 */ public int CompareTo(object obj) { Person p = (Person)obj; return this.ID.CompareTo(p.ID); } #endregion } class SortArrayList { static void Main(string[] args) { ArrayList list = new ArrayList(); list.Add(new Person(6, "排长")); list.Add(new Person(3, "团长")); list.Add(new Person(4, "司令")); list.Add(new Person(5, "旅长")); list.Add(new Person(7, "连长")); list.Add(new Person(1, "军长")); list.Add(new Person(2, "营长")); list.Add(new Person(8, "师长")); list.Sort(); Console.WriteLine("After Sorting"); foreach (Person person in list) { Console.WriteLine("ID: " + person.ID.ToString() + ", Rank: " + person.Rank); } } }
求质数.cs
代码
using System;
class Factor { public static void Main() { for (int i = 1; i <= 100; i++) if (IsPrime(i)) Console.WriteLine(i); } public static bool IsPrime(int n) { for (int i = 2; i <= Math.Sqrt(n); i++) if (n % i == 0) return false; return true; } }
代码
using System;
class ArraySort { public static void Main() { int[] d = { 10, 15, 21, 43, 17, 98, 2, 74, 63, 10 }; int temp; //冒泡法排序 for (int i = 0; i < d.Length; i++) for (int j = i + 1; j < d.Length; j++) if (d[i] < d[j]) { temp = d[i]; d[i] = d[j]; d[j] = temp; } //输出排序结果 foreach (int i in d) Console.Write("{0}, ", i); } }
九九表.cs
代码
using System;
public class JiuJiuBiao { public static void Main(string[] args) { int i, j; for (i = 1; i < 10; i++) { for (j = 1; j < 10; j++) { Console.Write("{0:D1}*{1:D1}={2,2} ", i, j, i * j); } Console.WriteLine(""); } Console.ReadLine(); } }
静态与非静态.cs
代码
using System;
class StaticHello { public static void SayHello() { Console.WriteLine("Static Hello"); } } class NonStaticHello { public void SayHello() { Console.WriteLine("Non Static Hello"); } } class Client { public static void Main() { //静态方法调用应当使用 “类名.方法” StaticHello.SayHello(); //非静态方法调用应当使用 “实例名称.方法” NonStaticHello h = new NonStaticHello(); h.SayHello(); } }
构造函数.cs
代码
using System; public class Person { public string name |
请发表评论