c#初级

c#初级

转载自siki学院的c#语言初级
1:变量
变量创建 : type表示使用什么类型的盒子,来存储数据
name表示存储这个盒子的名字;
变量类型:整形:sbyte,byte,short,ushort,int,uint,long,ulong
小数:float,double,decimal
非数值类型:char,bool,string
命名规范:驼峰命名法

2:转义字符
c#初级
如果不想识别字符中的转义字符,可以在字符前面加上一个@符号

3:字符的Unicode值
Unicode可以表示这个字符在内存中以哪种数字存储,也可以使用Unicode来代表一个转义字符

4:变量的声明及赋值
int age —— 声明
age = 4 —— 赋值
我们可以使用一条语句声明多个类型一样的变量 string name1,name2
变量在使用之前必须初始化

5:表达式
一元运算符
c#初级
二元运算符
c#初级
当两边的操作数类型一致的时候,返回的结果跟操作数的类型一样
当两边的操作数类型不一致的时候,返回的结果跟类型大的操作数保持一致
用户输入 我们可以通过Console.ReadLine()从控制台接受一行 用户输入的字符串
运算符的优先级
c#初级
6: 类型转换
隐式转换
当类型小放入类型大的时候,自动进行类型转换
显式转换
int i = 33434;
short j = (short)i;
使用Convert命令进行显示转换
c#初级

7:流程控制
分支和循环。
分支:有条件的执行代码
循环:重复执行相同的代码
布尔运算符
c#初级
布尔运算符-处理布尔值
c#初级
条件布尔运算符
c#初级
布尔赋值运算符
c#初级
按位运算符
&和|运算符还有一个作用:对数值执行操作

goto语句
在程序中我们可以给代码加上标签,这样就可以使用goto
语句直接调到标签的地方去执行
goto语句的语法
goto ;
标签定义
:

if语句
if的语法
if()
<code executed if is true>
先执行,如果结果是true就执行

if-else
if else语法
if()
<code executed if is true>
else
<code executed if is false>
如果if和else要执行的代码有多行,可以加上{}组成一个块
if(){
<code executed if is true>
}else{
<code executed if is false>
}

三元运算符
语法
? :

if语句的其他结构
if (){
}else if(){
}else if(){
}else{
}
else if可以有0或者多个
else 只能有0或者1个

switch语句
switch语句类似于if语句,switch可以用来将测试变量跟多个值
进行比较。switch的语法结构如下:
switch (){
case :
<code to execute if == >
break;
case :
<code to execute if == >;
break;

case :
<code to execute if ==>;
break;
default:
<code to execute if !=>
break;
}
这里不管直接放一个字面值还是变量,它的类型是数值类型跟char类型
switch可以跟goto结合也可以把两个case语句放在一起

do循环
语法结构
do{
;
}while();
返回的是一个bool值(循环的条件判断)

while循环
语法结构
while(){

}

for循环
语法结构
for(<initialization;;>){

}
是初始化,这里可以定义一个变量,也可以给变量赋值
是判断是否执行循环的条件
每次执行完循环都会执行operation代码

循环的中断 break(终止当前循环)
循环的中断 continue(终止当前循环继续下一个循环)

8:枚举
枚举类型的定义
enum {
,
,
,


}
枚举类型的声明 ;
枚举类型的赋值=.;
默认情况下枚举类型中的值从0开始,我们可以直接在枚举类型定义的时候 使用=运算符给每一个枚举指定一个特定的值

9:结构/结构体
定义结构
struct {

}
其中是结构体的成员,每个成员的声明如下
;
struct Vector3{
float x;
float y;
float z;
}

10:数组
数组的声明
[] ;
数组是一个变量的索引列表,这个索引是一个整数,第一个条目的索引是0,第二个是1,以此类推…
int[] scores; 声明了分数的数组(int类型的数组)
数组的初始化
int[] scores;
第一种方式
scores ={34,34,3,43,43,4,34};
第二种方式
scores = new int[10]; 里面的每一个元素按照类型的默认值赋值
第三种方式
scores = new int[10]{123,12,34,56,77,89,85,6,45634,34};
数组的访问
[条目索引]
数组的遍历
第一种方式for
for(int i =0;i<array.Length;i++){
}
第二种方式while循环
int i=0;
while(i<array.Length){
//use array[i]
i++;
}
第三种方式foreach
foreach(int temp in array){
}

11:函数
函数的定义和使用
定义函数
static void Write(){
Console.WriteLine(“Text output from function .”);
}
函数的使用
static void Main(){
Write();
}
返回值
控制台应用程序函数的定义形式如下:
static (){

return ;
}
这里需要注意的是必须是类型的,当为void,表示这个函数不需要返回值,函数体不 需要return语句,也可以写return;中断函数
参数
结构:
static ( , …){
…;
return ;
}
定义一个函数,用来取得数字的和,但是数字的个数不确定。
解决方案:
1,定义一个函数,参数传递过来一个数组;
2,定义一个参数个数不确定的函数,这个时候我们就要使用参数数组。
结构函数
我们不但在结构中定义数据,还可以包含函数的定义。
struct CustomerName{
public string firstName;
public string lastName;
public string GetName(){
return firstName+" "+lastName;
}
}
函数的重载overload
函数名相同,参数不同,这个叫做函数的重载(编译器通过不同的参数去识别应该调用哪一个函数)
static int MaxValue(int[] intArray){

return;
}
static double MaxValue(double[] doubleArray){

return;
}