环境配置
vs code 中配置启动环境如下:
官方文档:点击进入官方文档
C#教程如下:C##教程链接
下面是自己的一些实践例子
数据类型的转换
static void Main(string[] args)
{
/*
* 装箱的操作:是把值类型转换成引用类型,可以采取隐式转换
*/
int intNum = 12;//值类型,它是在栈中存储
//这里会涉及到一个类型的转换,需要把值类型转换成引用类型
object objNum =intNum;//将值类型转换成引用类型(隐式转换)
//把引用类型转换成值类型,这种过程称之为拆箱。必须是显示转换
//引用类型,现在需要将引用类型转换成值类型
object objA = 15;
int intGetObjA =(int) objA;
int intGetObjA1 = Convert.ToInt32(objA);//强制类型的转换。
object objB = 12.3;
float fltB = (float)objB;
float fltB1 = Convert.ToSingle(objB);//把引用类型转成单精度的浮点数据类型
object objC = 145.6;
double dblC = (double)objC;
double dblC1 = Convert.ToDouble(objC);//把引用类型转换成双精度的数据类型
}
常量
static void Main(string[] args)
{
//float fltA = 12.3F;//在数值后面加上一个符号就明确它的数据类型
//double dblA = 12.3;
//int intA = 0x10;
//long longA = 10L;
//uint uintA = 10u;
//Console.WriteLine(intA);//向屏幕输出数据,而这个数据就是括号里的数据
//转义,
//char charA = '\'';
//Console.WriteLine(charA);
//string strInfo = "这是第一行,\n这是第二行";
//Console.WriteLine(strInfo);
//string strBookName ="这是一本\"C#编程的书籍\"";
//Console.WriteLine(strBookName);
//const关键字表示的是常量,也就是说常量的值是无法改变的。
const double dblPi = 3.14;
int intConstA = 20;
intConstA = 30;
}
运算符
static void Main(string[] args)
{
//int a=20, b=10,c;
//c = a + b;
//int d = 27, e = 5;
//int f = d % e;
//Console.WriteLine(f);
//int h = 20, m = 19;
比较运算符,它的运算结果就只能为bool类型。true或者false的结果
//bool boolResult = h != m;
//Console.WriteLine(boolResult);
//一元运算符
// int x = 20, y = 15;
// x *= y;
x = x * y;
// Console.WriteLine(x);
int j = 1;
//j++;//j =j+1;
j--;//j=j-1;
Console.WriteLine(j);
}
if判断
static void Main(string[] args)
{
Console.WriteLine("请输入年龄:");
string strAge = Console.ReadLine();//接收用户的输入
int intAge = Convert.ToInt32(strAge);
//如果18以下未成年,18到35青年,36-60中年,61之后就是老年。
//选择语句
//if (intAge >= 18)//if括号里如果表达式的运算结果为true,那么执行if花括号里的语句
//{
// Console.WriteLine("用户已经成年");
//}
//else
//{
// Console.WriteLine("用户未成年");
//}
if (intAge < 18)
{
Console.WriteLine("用户未成年");
}
else if (intAge >= 18 && intAge <= 35)
{
Console.WriteLine("用户是青年");
}
else if (intAge >= 36 && intAge <= 60)
{
Console.WriteLine("用户中年");
}
else //if (intAge > 60)
{
Console.WriteLine("用户是老年");
}
Console.ReadKey();//等待用户的输入,避免屏幕一闪而过。
}
switch
static void Main(string[] args)
{
//接收用户的输入
Console.WriteLine("请输入月份,1-3表示春天,4-6夏天,7-9秋天,10-12冬天");
string strInput = Console.ReadLine();
switch (strInput)
{
case "1":
case "2":
case "3":
Console.WriteLine("春天");
break;
case "7":
case "8":
case "9":
Console.WriteLine("秋天");
break;//每个case代表一个分支。
case "10":
case "11":
case "12":
Console.WriteLine("冬天");
break;
case "4":
case "5":
case "6":
Console.WriteLine("夏天");
Console.WriteLine("---------");
break;
default://如果case都不匹配的情况下,程序的执行代码
Console.WriteLine("你输入不符合要求");
break;
}
}
while
static void Main(string[] args)
{
//int i = 1;
//int sum = 0;
while循环,要执行循环体的语句,就先判断while后面的逻辑表达式的值,当值为真得时候,才会执行
//while (i <= 100)
//{
// sum = sum + i;//sum+=i;
// i++;//i自增1
//}
//Console.WriteLine(sum);
double intBen = 5000;
int count = 0;
while (intBen < 10000)
{
intBen = intBen * 1.0414;
Console.WriteLine(intBen);
count++;
}
Console.WriteLine(count);
}
参数传递方式
//参数传递方式
//值传递
int xp = 20;
Console.WriteLine(xp);
change(xp);
Console.WriteLine(xp);
//引用传递
//这种方式复制参数的内存位置的引用给形式参数。这意味着,当形参的值发生改变时,同时也改变实参的值。
changeRef(ref xp);
Console.WriteLine(xp);
changeOut(out xp);
Console.WriteLine(xp);
}
public static void change(int a)
{
a = 10;
}
public static void changeRef(ref int a)
{
a = 10;
}
public static void changeOut(ref int a)
{
a = 10;
}
类的Get、Set成员变量
private int num;
public int Num
{
get { return num; }
set { this.num = value; }
}