一.Debug的使用

int a=3;

Debug.Log("a="+a);

二.整数的定义

int m;

Debug.Log(m);  //C#比C更严谨,没有初始化的变量打印出来使没有意义的,会报错,这个m目前是一个不确定的数。C#的任何一行代码都是有意义的。

三.浮点数的定义

//C#比C更严谨,不能像C中的那样

float a;

a=0.1;

//会报错,必须是

float a;

a=0.1f;

四.表达式

1.赋值表达式=

2.算术表达式+-*/,%,++,--

注意:整数之间的除法做完,是整数,会把余数直接去掉。小数之间的除法做完,则是小数。

小数和整数的混合运算,结果以精度高的为准。

   各种运算的混合,也要按照表达式的优先级。

    字符与加法的混合,结果是一个字符。

  

   a++的,必须把和a有关的先计算完,才能再把a+1

++a的,必须先把a+1,再进行和a有关的计算

3.比较表达式>,<,>=,<=,==,!=

4.逻辑表达式&&,||

注意:左右语句都必须是逻辑表达式,有true或者false结果的,C#比C更严谨,C里面还可以用一个整型变量表示true,只要不为0就是true,但是在C#中则完全不行,会报错。

5.类型强转

注意:高精度转低精度,精度有损失,必须要用显示的强转符(int),就算是1.00转1也不行,C#更严谨,低精度转高精度不需要。

五.执行顺序

1.顺序执行,如果是函数中的顺序执行,执行完后会执行return语句,就算没有return语句,也会在函数大括号前隐氏地执行return语句返回。

2.条件语句,if(逻辑表达式){},if(逻辑表达式){}else{},if(逻辑表达式){}else if(逻辑表达式){}else{},switch(整数变量/字符变量){case 1:{} break;case 2:{} break;defalut:{}}

注意:switch中的case后面必须带一个break,不像C可以不带,C#更严谨。

3.循环语句,for(初始化,初始化;循环是否继续的条件判断;循环迭代,循环迭代){},do{}while(逻辑表达式),while(逻辑表达式){},

      break:终止所以循环,continue:终止本次循环,进行下一次循环

注意:for循环,首先初始化,然后判断是否满足循环条件,如果满足,执行循环体,最后执行循环迭代,接着判断是否满足循环条件...;如果不满足,则退出循环。

for循环的初始化,循环是否继续的条件判断,循环迭代都可以省略。

    for循环的循环是否继续的条件判断省略的话就是死循环。

六.函数调用和参数传递(和C最大不同)

C#数据类型:1.基本数据类型  2.引用类型(存的是对象的引用)

注意:1.函数的参数是另外一个变量,函数参数传递只是变量间值的传递,也就是变量和变量之间的赋值

2.但是如果函数参数的类型是引用类型的,当函数返回时,会把原来的引用变量所指的内容改变,因为被赋值的函数引用变量参数也指向了原先引用变量所指向的内容。

七.out的用法(C#和所以语言都不同的一点)

例子

Person p;

p=new Person();

p.name=1;

p.age=10;

create_person(out p);

Debug.Log("p.age=",p.age);//结果等于11

void create_person(out Person p){

  p=new Person; //为了区别函数引用变量传递也可以改变原来引用变量所指内容,也就是证明这个person和函数外面那个person不一样,这里故意弄成两个不同的person,如果是平时没有out时传基本类型进来,系统会自动帮我们创建新的变量。

          //还有一种更直观的区别函数引用变量传递和out修饰的函数引用变量传递的区别,就是函数引用变量传递的函数中如果把p=null,外面的p依然不为null,而out修饰的函数引用变量传递中把p=null;则外面的那个p就是null。

  p.name=0;

  p.age=11;

}

//被out修饰的参数,那么在函数内可以直接修改这个变量的值,不管是基础类型的变量还是引用类型的变量。

//我是这样通俗理解的:被out修饰的参数,会把在函数中经过的变化,更新到原来外面的变量,从头到尾就是一个变量被更新了的感觉。

最新文章

  1. NET IL命令查询器
  2. 最佳的 14 个免费的响应式 Web 设计测试工具
  3. xcode8让真机测试支持ios8.0以下版本
  4. 微信、QQ浏览器X5内核问题汇总
  5. HIS系统的处方录入控件
  6. linux下重启tomcat、实时查看tomcat运行日志
  7. Android SDK Manager无法更新问题解决
  8. yii第一个应用blog
  9. noip普及组2007 Hanoi双塔问题
  10. 将自己的代码托管到github上
  11. 微服务架构 - 巧妙获取被墙的Docker镜像
  12. Java程序设计第2次作业
  13. Java 获取图片的大小、宽、高
  14. ios技术篇:导航栏push遵循的三个规则
  15. java学习手册
  16. 分散的配置文件VS集中的注册表
  17. git命令收集(记得持续更新)
  18. Immutable Collections(3)Immutable List实现原理(中)变化中的不变
  19. python之redis模块
  20. Eclipse中的创建maven项目,无法添加src/main/java等source folder

热门文章

  1. python分号使用
  2. request.getServletContext()
  3. tcp 代理的作用
  4. javascript 面向对象编程(工厂模式、构造函数模式、原型模式)
  5. GG中obey命令的使用
  6. ThinkPHP实现事务回滚示例代码(附加:PDO的事务处理)
  7. PLSQL Split分割字符串
  8. Linux-软件包管理-源码包安装
  9. Linux命令-用户管理命令:useradd,passwd,who,w
  10. 摘:数据结构各种算法实现(C++模板)