C#学习笔记

来源:互联网 发布:手机制作价格表软件 编辑:程序博客网 时间:2024/06/10 09:16

文件名:hello.cs

class hello

{
static void Main()
{
System.Console.WriteLine("hello world!");
        System.Console.ReadKey(); 
}

}


文件名:variables.cs

//this program calculates some circel stuff
using System;//引用System
class variables
{
public static void Main()
{
//DECLARE VARIABLES
int radius=4;
const double PI=3.1415926;  //定义常量
double circum,area;
area=PI*radius*radius;
circum=2*PI*radius;
//print the result
Console.WriteLine("Radius={0}cm,PI={1}cm",radius,PI);  //索引要大于等于零且小于参数列表的大小
Console.WriteLine("Area={0}cm2",area);
Console.WriteLine("Circum={0}cm",circum);
Console.ReadKey();
}
}



文件名:Aclass.cs

//编写一个输出正方形笑脸的图形
//注意强制类型转化方法和Write函数和WriteLine函数
using System;
class Aclass
{
public static void Main()
{
//declare variables
int x,y;
for (x=0;x<10;x++,Console.Write("\n"))   //如果使用的是Console.WriteLine()那么就会自动换行。
{

for(y=0;y<10;y++)
{
//每一行都输出一个X
//Console.WriteLine("X");
//每一行都输出的是1转化为字符转型所对的ASCII码对应的图标
Console.Write(" {0}",(char)1);
}
}
Console.ReadKey();
}
}


文件名:ListIT.cs

/*
面向对象的概念
封装:就是创建包,其中包含你所需的所有东西。这意味着创建一个圆,那么这个包中封装了所有和圆有关的信息,如何计算面积,如何计算周长等方法。用户不用去关心里面有什么东西。
继承:继承父类所有的属性。假如创建一个球,球是圆的特殊形态,那么球具有圆的所有特征属性。
多态:呈现多种形态的功能。
重用性:当创建好一个类的时候,可以调用它创建更多的对象。


类:即对所要创建的事物进行一个定义。
对象:所创建的事物。
*/


/*
组合和继承的区别
组合:组合在一个类中调用另一个类时发生。
继承:继承在一个类是另一个类的扩展时发生。
*/




//以下是一个读取文件内容的程序。


using System;
using System.IO;
class ListIT
{
public static void Main(string[] args)
{
try
{
int ctr=0;
if(args.Length<=0)    //判断产输入的参数是否存在
{
Console.WriteLine("Format:Please Input An Exist Filename!");
return;   //如不存在则返回空
}
else
{
//如果存在则读取文件流
FileStream f=new FileStream(args[0],FileMode.Open);  //定义文件流
try
{
StreamReader t=new StreamReader(f);  //读取文件流
string line;  //定义每行内容读入的变量
while((line=t.ReadLine())!=null)  //当内容不为空时则进行行号和内容的打印。
{
ctr++;
Console.WriteLine("{0}:{1}",ctr,line);


}
f.Close();
}

catch (System.IO.FileNotFoundException) //当文件没有找到时的异常处理
{
//异常处理代码块
Console.WriteLine("list could not found the file {0}\n\n",args[0]);
}
finally
{
//无论是否发生异常都要执行的代码块
f.Close();
}
}
}
catch (Exception e)  //当发生异常时执行的处理。
{
Console.WriteLine("EXCEPTION:{0}\n\n",e);

}
Console.ReadKey();
}
}



using System;
class variables
{
public static void Main()
{
double my_double=3.3;
decimal my_decimal=3.5M;  //不能隐式的将double类型改为decimal型,请在数字后面加M。
Console.WriteLine("my_double is {0}",my_double);
Console.WriteLine("my_decimal is {0}",my_decimal);
Console.ReadKey();
}
}




using System;
class pie
{
public static void Main()
{
int PiecesForMe=0;
int PiecesOfPie=0;
PiecesOfPie=3*6;
PiecesForMe=PiecesOfPie%13;
Console.WriteLine("PiecesForMe:{0}",PiecesForMe);
Console.WriteLine("PiecesOfPie:{0}",PiecesOfPie);
Console.ReadKey();
}
}



class execute
{
static void Main()
{
int value=1;
if(value>100)
{
System.Console.WriteLine("Number is greater than 100");
}
}
}




using System;
class do_it
{
public static void Main()
{
int ttl=0;
int nbt=0;
int ctr=0;
Random rmd=new Random();
do
{
nbt=(int)rmd.Next(1,11);
ctr++;
ttl +=nbt;
Console.WriteLine("Number {0} is {1}",ctr,nbt);
}
while (nbt !=5);
Console.WriteLine("{0}NUMBER IS WERE READ",ctr);
Console.WriteLine("THE TOTAL NUMBER IS {0}",ttl);
Console.WriteLine("The average of number is {0}",ttl/ctr);
Console.ReadKey();
}
}




class point  //新建类
{
public int x; //类成员
public int y;
}
class pointapp
{
public static void Main()
{
point my_start=new point(); //定义一个类
point my_end=new point();
double line;
my_start.x=1;         //类数据成员赋值
my_start.y=2;
my_end.x=3;
my_end.y=4;
line=System.Math.Sqrt((my_end.x-my_start.x)*(my_end.x-my_start.x)+(my_end.y-my_start.y)*(my_end.y-my_start.y));
System.Console.WriteLine("Point 1:({0},{1})",my_start.x,my_start.y);//打印
System.Console.WriteLine("Point 2:({0},{1})",my_end.x,my_end.y);
System.Console.WriteLine("Line:({0})",line);
System.Console.ReadKey();
}
}



class point
{
public int x;
public int y;
}
class line
{
static public point origin=new point();
public point end=new point();
}
class lineapp
{
public static void Main()
{
line line1=new line();
line line2=new line();
line.origin.x=1;
line.origin.y=2;
line1.end.x=3;
line1.end.y=4;
line2.origin.x=1;   //编译时会出错,因为origin是静态的数据成员,调用时必须使用类名,而不是对象名。
line2.origin.y=2;
System.Console.WriteLine("Line 1 start:({0},{1})",line.origin.x,line.origin.y);
System.Console.WriteLine("Line 2 start:({0},{1})",line1.end.x,line1.end.y);
//change line2 start point

line1.end.x=68;
line1.end.y=89;

System.Console.WriteLine("Line 2 change:({0},{1})",line1.end.x,line1.end.y);
System.Console.WriteLine("Line 3 start:({0},{1})",line2.origin.x,line2.origin.y);
System.Console.ReadKey();

}
}




class point
{
int my_x;
int my_y;
public int X
{
get{return my_x;}  //get和set用来取得和设置变量的值。
set{my_x=value;}
}
public int Y
{
get{return my_y;}  //每当程序试图取得正在声明的数据成员时(这里是Y)则get语句会被调用,返回的是my_y的值。
set{my_y=value;}   //每当程序试图为正在声明的数据成员赋值时,则会执行set语句,其实是将值赋给my_y
}


}
class map
{
public static void Main()
{
point starting = new point();
point ending = new point();
starting.X=1;
starting.Y=19;
ending.X=4;
ending.Y=29;
System.Console.WriteLine("Point1:({0},{1})",starting.X,starting.Y);
System.Console.WriteLine("Point1:({0},{1})",ending.X,ending.Y);
System.Console.ReadKey();


}
}



using System;
class name
{
public string first;
public string last;
}
class nameapp
{
public static void Main()
{
name you=new name();
Console.Write("Please input your first name:");
you.first=Console.ReadLine();
Console.Write("\n{0},Please input your first lastname:",you.first);
you.last=Console.ReadLine();
Console.Write("\nyou full name is {0}_{1}",you.first,you.last);
Console.ReadKey();
}
}



using System;
class function
{
public int x;
public int y;
public int radius;
const double PI=3.1415926;
public double area()
{
double Area;
Area=radius*radius*PI;
return Area;
}
public double circle()  //如果有参数那就要进行传,这里的public说明该方法在该类外可以被访问。
{
double Len;
Len=2*PI*radius;
return Len;  //如果方法不需要返回,那应该写为return void;还应该注意的是方法所返回的数据类型一定要和方法头的类型一致。
}
}
class cirlce_app
{
public static void Main()
{
function C1=new function();
Console.Write("Please input your x location:");
C1.x=Console.ReadLine();//这里如果写C1.x=Console.ReadLine();就会报错,因为Console.ReadLine()函数读取的是string字符串,不能转。
Console.Write("Please input your y location:");
C1.y=Console.ReadLine(); //同上
Console.Write("Please input your Circule Radius:");
C1.radius=Console.ReadLine();//同上
Console.WriteLine("Your Position is ({0},{1}),Area is {2},Length is {3}",C1.x,C1.y,C1.area(),C1.circle());//area和circle都是成员方法,不是数据成员,调用时要有括号
Console.ReadKey();
}
}



/*使用局部变量和类变量,在方法中使用数据成员*/
using System;
class local
{
public int x; //类的成员变量
public void count_x()
{
int x;  //局部变量
Console.WriteLine("In count_x method , Printing x values.....");
for(x=0;x<=10;x++)
{
Console.Write("{0} - ",x);
}
Console.WriteLine("\nAt the end of count_x method.x={0}",x);
Console.WriteLine("The data member x={0}",this.x);//this指的是当前对象,这里的当前对象就是LOCALS,所以this.x是指的该对象的数据成员,那么就要去该对象的类中找数据成员




}
}


class local_app
{
public static void Main()
{
local LOCALS=new local();
int x=999; 
LOCALS.x=555; //数据成员
Console.WriteLine("In main,x={0}",x); 
Console.WriteLine("LOCALS.x={0}",LOCALS.x);
Console.WriteLine("Calling Method");
LOCALS.count_x();
Console.WriteLine("In main,x={0}",x); //可以看出main中的x不变
Console.WriteLine("LOCALS.x={0}",LOCALS.x);//数据成员也没有变
Console.ReadKey();
}
}




/*给方法传值*/
using System;
class Multiply
{
static long multi(long x1,long x2)//定义类型
{
return x1*x2;//返回值类型要和方法头类型一样
}
public static void Main()
{
long x=121212;
long y=122222;
long result;
result=multi(x,y);
Console.WriteLine("x*y:{0}*{1}={2}",x,y,result);
result=multi(123L,222L);
Console.WriteLine("x*y:{0}*{1}={2}",123L,222L,result);
Console.ReadKey();
}
}



/*按引用传递参数*/
using System;
class nbr
{
public double square(ref double x)//引用时使用ref
{
x=x*x;
return x;
}
}
class test
{
public static void Main()
{
nbr yin=new nbr();
double x1=3;
double x2=6;
Console.WriteLine("Before square :{0}:{1}",x1,x2);
x2=yin.square(ref x1);
Console.WriteLine("After square :{0}:{1}",x1,x2); //引用后X1,变成了9.
Console.ReadKey();
}
}



/*以输出的方式访问参数,使用out属性*/
using System;
class use_out
{
public void OUT(double x,out double y,out double z)
{
y=x*x;
z=x*y;
}
}
class past_var
{
public static void Main()
{
use_out TT=new use_out();
double x=1;
double y=2;
double z=3;
Console.WriteLine("x={0},y={1},z={2}",x,y,z);//x=1,y=2,z=3
TT.OUT(x,out y,out z); //注意这里也要有out但是不带数据类型
Console.WriteLine("x={0},y={1},z={2}",x,y,z);//x=1,y=1,z=1
Console.ReadKey();
}
}

原创粉丝点击