亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#常用知識點簡單回顧(有圖有真相)

2020-01-24 03:36:56
字體:
來源:轉載
供稿:網友
1)傳值調用與引用調用
復制代碼 代碼如下:

using System;
class MethodCall
{
public static void Main()
{
/*
* 參數類型分為 in, ref, out 三種,默認為 in。
* in 類型在子方法中修改了對應變量后,主方法中的值不會發生改變。
* ref 類型在子方法中修改了對應變量后,主方法中的值也會發生改變。
* out 主方法中對應的變量不需要初始化。
*
*/
int a = 1, b = 2, c;
Console.WriteLine("Before Method Call : a = {0}, b = {1}, c 未賦值", a, b);
AMethod(a, ref b, out c);
Console.WriteLine("After Method Call : a = {0}, b = {1}, c = {2}", a, b, c);
Console.Read();
}
public static void AMethod(int x, ref int y, out int z)
{
x = 110;
y = 120;
z = 119;
}
}

效果圖:

 2)打印三角形

復制代碼 代碼如下:

using System;
public class Hello
{
public static void Main()
{
Console.Write("請輸入行數:");
int lines = int.Parse(Console.ReadLine());
Console.WriteLine("");
for(int i=1; i<=lines ; i++)
{
for(int k=1; k<= lines-i; k++)
Console.Write(" ");
for(int j=1; j<=i*2+1; j++)
Console.Write("*");
Console.WriteLine("");
}
Console.ReadLine();
}
}

效果圖:

 3)遞歸求階乘

復制代碼 代碼如下:

using System;
class Factor
{
public static void Main()
{
for(int i=1; i<=10; i++)
Console.WriteLine("{0} 的階乘是 {1}",i, Factorial(i));
Console.Read();
}
public static long Factorial(long n)
{
if(n == 1)
return 1;
else
return n * Factorial(n-1);
}
}

效果圖:

4)多態性

復制代碼 代碼如下:

using System;
class Car
{
public virtual void Drive()
{ Console.WriteLine("Drive Car"); }
}
class Truck : Car
{
public override void Drive()
{ Console.WriteLine("Drive Truck"); }
}
class Client
{
public static void Main()
{
Car c = new Truck();
c.Drive(); //多態性決定著將調用Truck的Drive方法
Console.Read();
}
}

效果圖:

5)方法重載

復制代碼 代碼如下:

using System;
class Client
{
public static void Main()
{
//重載是指方法名相同,方法的簽名不同
Console.WriteLine(Add(100,50));
Console.WriteLine(Add("100","50"));
Console.Read();
}
public static string Add(string a, string b)
{
return a + " add " + b;
}
public static int Add(int a, int b)
{
return a+b;
}
}

效果圖:

6)構造函數

復制代碼 代碼如下:

using System;
public class Person
{
public string name = "";
public int age = 0;
//默認構造函數
public Person()
{
}
//構造函數重載(1)
public Person(int Age)
{
this.age = Age;
}
//構造函數重載(2)
public Person(int Age, string Name)
{
this.age = Age;
this.name = Name;
}
public void ShowInfo()
{
Console.WriteLine("姓名:" + name);
Console.WriteLine("年齡:" + age);
}
}
class Client
{
public static void Main()
{
Person p1 = new Person();
p1.ShowInfo();
Console.WriteLine("*************************");
Person p2 = new Person(25);
p2.ShowInfo();
Console.WriteLine("*************************");
Person p3 = new Person(25, "愛智旮旯");
p3.ShowInfo();
Console.Read();
}
}

效果圖:

7)靜態與非靜態

復制代碼 代碼如下:

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();
Console.Read();
}
}

效果圖:

8)九九表

復制代碼 代碼如下:

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();
}
}

效果圖:

9)冒泡法排序

復制代碼 代碼如下:

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);
Console.Read();
}
}

效果圖:

10)求質數

復制代碼 代碼如下:

using System;
class Factor
{
public static void Main()
{
for(int i=1; i<=100; i++)
if(IsPrime(i))
Console.WriteLine(i);
Console.Read();
}
public static bool IsPrime(int n)
{
for(int i=2; i<=Math.Sqrt(n); i++)
if(n%i == 0)
return false;
return true;
}
}

效果圖:

11)使用接口排序(1)

復制代碼 代碼如下:

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);
}
}
}

效果圖:

12)使用接口排序(2)

復制代碼 代碼如下:

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);
}
}
}

效果圖:

13)屬性、方法作用范圍

復制代碼 代碼如下:

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();
}
}

效果圖:

15)字段與屬性

復制代碼 代碼如下:

using System;
class SumToHundred
{
public static void Main()
{
int sum=0;
for(int i=1; i<=100; i++)
sum += i;
Console.WriteLine(sum);
}
}

pic
復制代碼 代碼如下:

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);
}
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品1区2区在线观看| 青青草成人在线| 69精品小视频| 57pao成人永久免费视频| 亚洲精品一区在线观看香蕉| 麻豆国产va免费精品高清在线| 亚洲三级 欧美三级| 亚洲天堂开心观看| 国产精品一区二区久久国产| 日韩动漫免费观看电视剧高清| 亚洲欧美999| 亚洲男子天堂网| 成人免费在线视频网址| 久久精品视频一| 国产精品老女人精品视频| 夜夜嗨av一区二区三区免费区| 亚洲美女av黄| 欧美尺度大的性做爰视频| 久久久精品一区二区三区| 欧美日韩精品二区| 国产成人亚洲综合| 夜夜嗨av色一区二区不卡| 欧美精品在线网站| 亚洲精品狠狠操| 久久久久久久网站| 中文字幕在线视频日韩| 日本国产一区二区三区| 日韩美女在线观看一区| 九九九久久久久久| 国产一区二区三区丝袜| 国产精品九九久久久久久久| 亚洲性夜色噜噜噜7777| 久久久国产精品视频| 国产精品自产拍在线观看| 久久久av亚洲男天堂| 欧美日韩在线视频一区二区| 青青草成人在线| 亚洲影视中文字幕| 国产精品久久久久久久久久东京| 久久久久久久久电影| 久久久中文字幕| 国产精品第一页在线| 狠狠做深爱婷婷久久综合一区| 欧美激情女人20p| 国产精品久久久久久久9999| www国产亚洲精品久久网站| 一区二区三区 在线观看视| 日本国产高清不卡| 九九精品在线视频| 亚洲成年人在线| 97视频在线观看成人| 久久久精品一区二区| 久久午夜a级毛片| 琪琪第一精品导航| 国产精品久久久精品| 国产精品都在这里| 欧美精品videos| www亚洲欧美| 亚洲电影免费观看高清完整版在线观看| 日本一区二区在线播放| 91成人天堂久久成人| 日韩av在线高清| 欧美性色视频在线| 亚洲综合色激情五月| 久久91亚洲精品中文字幕| 欧美精品久久久久久久久久| 91最新在线免费观看| 欧美最猛性xxxxx免费| 国产91精品黑色丝袜高跟鞋| 色久欧美在线视频观看| 97久久精品在线| 4438全国亚洲精品在线观看视频| 这里只有精品在线播放| 亚洲精品资源在线| 国产91精品久| 国产精品久久国产精品99gif| 国产精品白嫩初高中害羞小美女| 日本伊人精品一区二区三区介绍| 国产精品丝袜视频| 亚洲久久久久久久久久| 久久精品一本久久99精品| 色视频www在线播放国产成人| 亚洲精品自拍偷拍| 一区二区av在线| 欧美一级大片在线观看| 538国产精品一区二区免费视频| 久久久国产精彩视频美女艺术照福利| 欧美亚洲伦理www| 久久97精品久久久久久久不卡| 国产精品狼人色视频一区| 久久久久久久一| 亚洲二区在线播放视频| 亚洲免费视频在线观看| 国产成人精彩在线视频九色| 国模私拍一区二区三区| 色偷偷888欧美精品久久久| 精品一区二区三区电影| 午夜精品久久久久久99热| 亚洲精品久久久一区二区三区| 色先锋资源久久综合5566| 欧美综合国产精品久久丁香| 精品国产乱码久久久久久天美| 欧美一区二区三区……| 日韩中文字幕在线观看| 亚洲自拍偷拍网址| 国产午夜精品全部视频在线播放| 久久久久亚洲精品| 成人免费网站在线| 97成人超碰免| 欧美性猛交xxxx乱大交蜜桃| 美女福利视频一区| 18久久久久久| 欧美日韩免费在线观看| 亚洲v日韩v综合v精品v| 亚洲性无码av在线| 久久久天堂国产精品女人| 午夜精品久久久久久久男人的天堂| 久久九九精品99国产精品| 欧美在线视频导航| 国产精品色悠悠| 中文字幕国产精品久久| 91欧美精品成人综合在线观看| 亚洲欧美国产高清va在线播| 国产精品亚洲激情| 亚洲第一偷拍网| 日韩在线视频免费观看高清中文| 欧美日韩精品在线观看| 中文字幕亚洲无线码在线一区| 欧美视频中文在线看| 欧美理论电影在线观看| 欧美专区中文字幕| 色综合久久88| 亚洲国产精品成人av| 在线电影中文日韩| 青青草99啪国产免费| 精品综合久久久久久97| 亚洲国产成人精品久久久国产成人一区| 成年无码av片在线| 成人伊人精品色xxxx视频| 色狠狠av一区二区三区香蕉蜜桃| 日韩成人免费视频| 亚洲视频在线看| 欧美日韩中文在线| 久久成人国产精品| 欧美日韩中文字幕在线视频| 国内精品视频一区| 欧美最猛黑人xxxx黑人猛叫黄| 亚洲一区二区三区成人在线视频精品| 亚洲专区在线视频| 91夜夜揉人人捏人人添红杏| 亚洲色图35p| 欧美性极品xxxx做受| 国产精品对白刺激| 久久久这里只有精品视频| 91在线免费观看网站| 欧美有码在线观看视频| 欧美激情精品久久久久久| 亚洲人精品午夜在线观看| 国产欧美日韩免费看aⅴ视频| 国产成人精品午夜| 欧美日韩国产成人高清视频| 性欧美长视频免费观看不卡| 狠狠躁夜夜躁人人爽天天天天97| 亚洲第一综合天堂另类专|