曾瑛C#教程筆記2

zy17
枚舉結(jié)構(gòu)體
枚舉
enum 類型名 {枚舉項(xiàng)}
定義在類外面
enum WeekDays{Sunday,Monday,Tuesday,Wednesday,Thuresday,Friday,Saturday}
Main()函數(shù)里面寫
WeekDays today=WeekDays.Sunday;
if((today==WeekDays.Saturday)||(today=WeekDays.Sunday)){
Console.WriteLine("休息");
}
else{
Console.WriteLine("工作");
}
WeekDays today;
today=(WeekDays)3;
Console.WriteLine(today);//Wed
WeekDays today;
today=WeekDays.Sunday;
Console.WriteLine((int)today);//0
WeekDays today;
today=WeekDays.Sunday+2;
Console.WriteLine(today);//周二
enum WeekDays:int//byte sbyte short ushort int uint long ulong
{
Sunday=5,
Staurday //6
}
結(jié)構(gòu)體
定義在類外面
struct Student{
//必須加public否則外部不能訪問
public int number;
public string name;
public string sex;
public string birthday;
}
Main()
Student wjl;
wjl.number=2015;
wjl.name="吳家亮";
wjl.sex="男";
wjl.birthday="2000-1-1";
Student zy;
zy.number=2016;
zy.name="曾瑛";
zy.sex="男";
zy.birthday="1997-1-1";
Console.WriteLine("學(xué)號(hào):"+wjl.number);
Console.WriteLine("學(xué)號(hào):"+zy.number);
Console.WriteLine("姓名:"+wjl.name);
Console.WriteLine("姓名:"+zy.name);
zy18
數(shù)組
int[] scores= {120,140,112,133};
元素類型 數(shù)組名稱 初始列表值
int[] scores={120,140,112,133,127};
scores[0]=110;
int sum=scores[0]+scores[1]+scores[2]+scores[3]+scores[4];
int sum=0;
for(int i=0;i<scores.Length;i++){
sum+=scores[i];
}
聲明數(shù)組而不初始化
string[] names =new string[3];
names[0]="小明";
names[1]="里斯";
names[2]="王五";
string[] names =new string[3]{"1","2","3"};
數(shù)組不可以是動(dòng)態(tài)的 c++中可以
foreach(string name in names){
Console.WriteLine(name);
}
zy19
二維數(shù)組
int[,] erwei={{1,2,3},{4,5,6},{7,8,9}};
int[,] erwei=new int[3,3]{{1,2,3},{4,5,6},{7,8,9}};
int sum=0;
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
Console.WriteLine(erwei[i,j]);
sum+=erwei[i,j];
}
}
Console.WriteLine(sum);
int[,] erwei=new int[3,3]{{1,2,3},{4,5,6},{7,8,9}};
int sum=0;
foreach(int number in erwei){sum+=number;}
Console.WriteLine(sum);
可變數(shù)組
int[][] kebian=new int[2][]
行列
kebian [0]=new int[3]{1,2,3};
kebian [1]=new int[4]{1,2,3,4};
foreach(int element in kebian[0]){
Console.WriteLine(element);
}
foreach(int element in kebian[1]){
Console.WriteLine(element);
}
int[][] kebian=new int[2][]{new int[3]{1,2,3},new int[4]{1,2,3,4}};
foreach(int[] line in kebian){
foreach(int element in line){
Console.WriteLine(element);
}
}
zy20
函數(shù)
寫在類里面
static string/返回類型值/ CaculateWeekDay(int y,int m,int d)/方法/{
if(m==1||m=2){
m+=12;
y--;
}
int week=(d+2m+3(m+1)/5+y+y/4-y/100+y/400+1)%7;
string weekString="";
switch(week){
case 0:weekString="星期日";break;
case 1:weekString="星期一";break;
case 2:weekString="星期二";break;
case 3:weekString="星期三";break;
case 4:weekString="星期四";break;
case 5:weekString="星期五";break;
case 6:weekString="星期六";break;
default:break;
}
//Console.WriteLine(weekString);
return weekString;
}
Main()
string week=CaculateWeekDay(2018,9,9)
Console.WriteLine(week);
static string 函數(shù)名(參數(shù)列表)
靜態(tài) 返回類型
函數(shù)命名方式:首字母全部大寫
return語句可以返回表達(dá)式
函數(shù)可以沒有返回值void
可以有多個(gè)return等曼,先執(zhí)行到那個(gè)那個(gè)起作用
zy21
函數(shù)參數(shù)
值傳遞
類里面定義
static double Bigger(double x,double y)//形式參數(shù)
{//形參的變化不會(huì)影響實(shí)參
double maxValue=(x>y)?x:y;
return maxValue;
}
Main()
double a,b,result;
a=Convert.ToDouble(Console.Read());
b=Convert.ToDouble(Console.Read());
result=Bigger(a,b);
Console.WriteLine(result);
地址傳遞形參實(shí)參一起變化
類里面定義
static void Dou(int[] array)
{
for(int i=0;i<array.Length;i++){
array[i]=2array[i]
}
}
Main()
int[] numbers={1,2,3,4,5};
Console.Write("Before:");
foreach(int number in numbers){
Console.WriteLine(number);
}
Dou(numbers);
Console.Write("After:");
foreach(int number in numbers){
Console.WriteLine(number);
}
數(shù)組等復(fù)雜類型應(yīng)用地址傳遞
static void Swap(int x,int y){
int temp=x;
x=y;
y=temp;
}
Main()
int a=40;
int b=80;
Console.WriteLine("交換前a={0},b={1}",a,b);
Swap(a,b);
Console.WriteLine("交換后a={0},b={1}",a,b);//a=40,b=80
引用型參數(shù)
static void Swap(ref int x;ref int y){
int temp=x;
x=y;
y=temp;
}
Main()
int a=40;
int b=80;
Console.WriteLine("交換前a={0},b={1}",a,b);
Swap(ref a,ref b);
Console.WriteLine("交換后a={0},b={1}",a,b);//a=40,b=80
輸出型參數(shù)
ref傳入函數(shù)前必須賦值
out傳入函數(shù)前不需要賦值及刻,賦值了也會(huì)被忽略
static double CalculateCircle(double r,out double c){
c=2
Math.PIr;
double s=Math.PI
rr;
return s;
}
Main()
double r=156;
double zhouchang;
double area=CalculateCircle(r,out zhouchang);
Console.WriteLine("周長為:{0},面積為{2}",zhouchang,area);
參數(shù)匹配置侍,可以隱士轉(zhuǎn)換
static double VolumeofSpheroid(double r){
double v=(4/3)
Math.PIrrr;
return v;
}
Main()
double redius1=10.86;
double volume1=VolumeofSpheroid(redius1);//匹配
int redius2=80;
double volume2=VolumeofSpheroid(redius2);//經(jīng)過隱式轉(zhuǎn)換匹配
string radius3="100";
double volume2=VolumeofSpheroid(redius3);//不匹配逆航,需要顯式轉(zhuǎn)換
zy22
函數(shù)遞歸
static int Fac(int n){
if(n<=1){
return 1;
}
else{
return n
Fac(n-1);//遞歸關(guān)系
}
}
斐波那契數(shù)列
static int Fibonacci(int n){
if((n==1)||(n==2)){
return 1;
}
else{
return Fibonacci(n-1)+Fibonacci(n-2);
}
}
Main()
for(int i=1;i<=n;i++){
Console.Write("{0}\t",Fibonacci(i));
if(i%5==0){
Console.WriteLine();
}
}
zy23
局部變量
函數(shù)內(nèi)的變量
static void A()
{
int x=10;
Console.WriteLine("The value x in A() is {0}",x);
}
static void B(){
int x=10;
Console.WriteLine("The value x in B() is {0}",x);
}
Main()
int x=30;
A();
B();
Console.WriteLine("The value x in Main() is {0}",x);
zy24

封裝
接口
對(duì)象
zy25
定義類和創(chuàng)建對(duì)象
新建cat.cs類
class Cat
{
public string name;//字段
public int age;
private int miceCount=0;
private void Hello(){//方法
Console.WriteLine("嗨,我是"+name);
}
public void Meow()
{
Hello();
Console.WriteLine("喵喵喵~~~");
}
public void ChaseMice()
{
miceCount++;
Hello();
Console.WriteLine("我已經(jīng)捉住了{(lán)0}只老鼠",miceCount);
}

}
實(shí)例化
Cat Kitty=new Cat();
Kitty.name="Kitty";
Kitty.age=3;
Console.WriteLine(Kitty.name);
Console.WriteLine(Kitty.age);
Kitty.Meow();
Kitty.ChaseMice();

Cat er=new Cat();
er.name="哆啦A夢(mèng)";
er.age=10;
Console.WriteLine(er.name);
Console.WriteLine(er.age);
er.Meow();
er.ChaseMice();
zy26
屬性
class Cat
{
public string name;//字段
private int age;
/*
public void SetAge(int ageValue)
{
if(int ageValue<0)
{age=0;}
else
{age=ageValue;}
}
public int GetAge()
{
return age;
}
//訪問器
*/
public int Age
{
get
{
return age;
}
set{
if(value<=0){
age=0;
}
else
{
age=value;
}
}
}
private int miceCount=0;
private void Hello(){//方法
Console.WriteLine("嗨,我是"+name);
}
public void Meow()
{
Hello();
Console.WriteLine("喵喵喵~~~");
}
public void ChaseMice()
{
miceCount++;
Hello();
Console.WriteLine("我已經(jīng)捉住了{(lán)0}只老鼠",miceCount);
}

}
Cat Kitty=new Cat();//構(gòu)造函數(shù)
Kitty.name="Kitty";
Kitty.Age=3;
//Kitty.SetAge(3);
Console.WriteLine(Kitty.name);
//Console.WriteLine(Kitty.GetAge());
Console.WriteLine(Kitty.Age);
Kitty.Meow();
Kitty.ChaseMice();
帶參數(shù)構(gòu)造函數(shù)
class Cat
{
public string name;//字段
public int age;
private int miceCount=0;
//有參數(shù)的構(gòu)造函數(shù)
public Cat(string nameValue,int ageValue)
{
name=nameValue;
age=ageValue;
}
public Cat()
{
name="";
age=0;
}
private void Hello(){//方法
Console.WriteLine("嗨,我是"+name);
}
public void Meow()
{
Hello();
Console.WriteLine("喵喵喵~~~");
}
public void ChaseMice()
{
miceCount++;
Hello();
Console.WriteLine("我已經(jīng)捉住了{(lán)0}只老鼠",miceCount);
}

}
Cat Kitty=new Cat("Kitty",3);//構(gòu)造函數(shù)
Console.WriteLine(Kitty.name);
Console.WriteLine(Kitty.age);
Kitty.Meow();
Kitty.ChaseMice();
zy27
析構(gòu)函數(shù)垃圾回收以及類的實(shí)例
class Cat
{
private string name;
private int age;
public Cat(string nameValue,int ageValue){
name=nameValue;
age=ageValue;
Console.WriteLine("一只貓誕生了");
}
~Cat(){//析構(gòu)函數(shù)
Consle.WriteLine("一只貓去了天堂");
}
public void ZL()
{
Console.WriteLine("我的姓名是"+name);
Console.WriteLine("我的年齡是"+age);
}
}
Main()
Cat kit=new Cat("kitty",4);
kit.ZL();
Console.WriteLine("-------------------------------");
Console.WriteLine("######################");
非托管程序
System.Gc.Collect(),強(qiáng)制執(zhí)行垃圾回收機(jī)制
class Time
{
private int hour;
private int minute;
private int second;
private void SetTime(int h,int m,int s)
{
//屬性值默認(rèn)大寫
Hour=h;
Minute=m;
Second=s;
}
public Time()
{
SetTime(0,0,0);

}
public Time(int hourValue)
{
    SetTime(hourValue,0,0);
}
public Time(int hourValue,int minuteValue)
{
    SetTime(hourValue,minuteValue,0);
}
public Time(int hourValue,int minuteValue,int secondValue)
{
    SetTime(hourValue,minuteValue,secondValue);
}
public int Hour
{
    get{return hour;}
    set{hour=(value>=0&&value<=24)?value:0;}
}
public int Minute
{
    get{return minute;}
    set{minute=(value>=0&&value<=60)?value:0;}
}
public int Second
{
    get{return second;}
    set{second=(value>=0&&value<=60)?value:0;}
}
public string ToString24()
{
    string output=Hour+":"+Minute+":"+Second;
    return output;
}
public string ToString12()
{
    int hourTemp=(Hour==12||Hour==0)?12:(Hour%12);
    string AMPM=(Hour<12?"AM":"PM");
    string output=hourTemp+":"+Minute+":"+Second+AMPM;
    return output;
}

}
Main()
Time time1=new Time();
Time time2=new Time(22);
Time time3=new Time(22,36,30);
Console.WriteLine("time1 12小時(shí)制:"+time1.ToString12());
Console.WriteLine("time1 24小時(shí)制:"+time1.ToString24());
Console.WriteLine("time2 12小時(shí)制:"+time2.ToString12());
Console.WriteLine("time2 24小時(shí)制:"+time2.ToString24());
Console.WriteLine("time3 12小時(shí)制:"+time3.ToString12());
Console.WriteLine("time3 24小時(shí)制:"+time3.ToString24());

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末甥角,一起剝皮案震驚了整個(gè)濱河市导梆,隨后出現(xiàn)的幾起案子膳凝,更是在濱河造成了極大的恐慌,老刑警劉巖鸥印,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件勋功,死亡現(xiàn)場離奇詭異,居然都是意外死亡库说,警方通過查閱死者的電腦和手機(jī)狂鞋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來璃弄,“玉大人要销,你說我怎么就攤上這事∠目椋” “怎么了?”我有些...
    開封第一講書人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵纤掸,是天一觀的道長脐供。 經(jīng)常有香客問我,道長借跪,這世上最難降的妖魔是什么政己? 我笑而不...
    開封第一講書人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮掏愁,結(jié)果婚禮上歇由,老公的妹妹穿的比我還像新娘。我一直安慰自己果港,他們只是感情好沦泌,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著辛掠,像睡著了一般谢谦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上萝衩,一...
    開封第一講書人閱讀 52,441評(píng)論 1 310
  • 那天回挽,我揣著相機(jī)與錄音,去河邊找鬼猩谊。 笑死千劈,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的牌捷。 我是一名探鬼主播墙牌,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼涡驮,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了憔古?” 一聲冷哼從身側(cè)響起遮怜,我...
    開封第一講書人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鸿市,沒想到半個(gè)月后锯梁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡焰情,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年陌凳,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片内舟。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡合敦,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出验游,到底是詐尸還是另有隱情充岛,我是刑警寧澤,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布耕蝉,位于F島的核電站崔梗,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏垒在。R本人自食惡果不足惜蒜魄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望场躯。 院中可真熱鬧谈为,春花似錦、人聲如沸踢关。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽耘成。三九已至榔昔,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間瘪菌,已是汗流浹背撒会。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留师妙,地道東北人诵肛。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親怔檩。 傳聞我的和親對(duì)象是個(gè)殘疾皇子褪秀,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容