变量的定义

变量本质是一种内存的占位符,使得我们可以轻松操作计算机。C#的变量声明格式是: 类型 名称 = 值;

1 //....
2
3 int val = 0; //定义并赋值
4
5 Console.writeLine(val);

var关键字的使用

上面的类型简单的测试了变量的定义、赋值与使用。但有时,我们自己也不清楚用上面类型好,希望编译器为我们选择,那么就可以使用C#的 var 关键字。var关键很类似于C++中的 auto  关键字,主要提供一个类型推导的作用,也就是说,左边变量的类型取决于右边表达式的运算结果的类型。下面的例子就解释了这一方面。

//...
var val = 3.1415+6; //浮点型(double)
var str = "fang" + 5; //字符串型(String)

变量的默认值

对于所有的基本类型,C#都提供了默认值,我用一个表格来解释

类型 默认值
任何引用类型 null
任何内置整数数值类型 0(零)
任何内置浮点型数值类型 0(零)
bool false
char '\0' (U + 0000)
enum 表达式 (E)0 生成的值,其中 E 是枚举标识符。

对于其他非基本类型,C#也提供了相应的默认值。

struct 通过如下设置生成的值:将所有值类型的字段设置为其默认值,将所有引用类型的字段设置为 null
任何可以为 null 的值类型 HasValue 属性为 false 且 Value 属性未定义的实例。 该默认值也称为可以为 null 的值类型的“null” 值。

对于引用类型,除去 String 外,绝大部分都是 null 。

当然,我们自己指定的变量值有时候不一定是用户需要的,所以变量的值最好是由用户来输入。 读取用户的输入,我们可以使用 ReadLine()读取用户的一行输入,由于这个方法返回的都是字符串,所以我们需要使用一个转换方法把它转换成自己需要的类型,比如用  Convert.ToInt32()  转为int类型

常量

既然有了变量,那为什么就没有常量呢?不是的,C#中的常量可以分成 字面量一般常量

字母量就是一个直接的值,它的意思就是它的值。而一般常量是 和声明普通变量一样,只不过需要多加一个const 用来修饰它,一旦赋值,就再也不能改变。它的格式如下:

const <data_type> <constant_name> = value;

C# 从0到实战 变量的定义与使用的更多相关文章

  1. Crash工具实战-变量解析【转】

    转自:http://blog.chinaunix.net/uid-14528823-id-4358785.html Crash工具实战-变量解析 Crash工具用于解析Vmcore文件,Vmcore文 ...

  2. Asp.Net Core 2.0 项目实战(4)ADO.NET操作数据库封装、 EF Core操作及实例

    Asp.Net Core 2.0 项目实战(1) NCMVC开源下载了 Asp.Net Core 2.0 项目实战(2)NCMVC一个基于Net Core2.0搭建的角色权限管理开发框架 Asp.Ne ...

  3. oracle函数、包、变量的定义和使用、重点”结构体和数组”

    函数 实例1:输入雇员的姓名,返回该雇员的年薪 create function fun1(spName varchar2) ,); begin +nvl(comm,) into yearSal fro ...

  4. 你好,C++(7)第三部分 C++世界众生相 3.2.1 变量的定义与初始化

    第3部分 C++世界众生相 在听过了HelloWorld.exe的自我介绍,完成了与C++世界的第一次亲密接触后,大家是不是都急不可待地想要一试身手,开始编写C++程序了呢?程序的两大任务是描述数据和 ...

  5. 前后端分离之vue2.0+webpack2 实战项目 -- webpack介绍

    webpack的一点介绍 Webpack 把任何一个文件都看成一个模块,模块间可以互相依赖(require or import),webpack 的功能是把相互依赖的文件打包在一起.webpack 本 ...

  6. PHP 注释 数据类型 变量的定义/输出 类型的获取/转换 可变变量

    注释方法: 1,单行注释:     // 2,  多行注释:     /*   */ 二,数据类型 1,integer(整数型):在三十二位操作系统中它的有效范围是:-2147483648~+2147 ...

  7. Asp.Net Core 2.0 项目实战(10) 基于cookie登录授权认证并实现前台会员、后台管理员同时登录

    1.登录的实现 登录功能实现起来有哪些常用的方式,大家首先想到的肯定是cookie或session或cookie+session,当然还有其他模式,今天主要探讨一下在Asp.net core 2.0下 ...

  8. Asp.Net Core 2.0 项目实战(11) 基于OnActionExecuting全局过滤器,页面操作权限过滤控制到按钮级

    1.权限管理 权限管理的基本定义:百度百科. 基于<Asp.Net Core 2.0 项目实战(10) 基于cookie登录授权认证并实现前台会员.后台管理员同时登录>我们做过了登录认证, ...

  9. PHP变量的定义与相应的数据类型

    在PHP中,变量的定义和C语言定义的方法是类似的,但是在PHP中,变量使用起来就非常灵活,一个变量既可以做整型,也可以是浮点型,也可以是字符串或者字符类型,通通只要在变量名前面加一个$然后加上你的变量 ...

  10. Asp.Net Core 2.0 项目实战(6)Redis配置、封装帮助类RedisHelper及使用实例

    本文目录 1. 摘要 2. Redis配置 3. RedisHelper 4.使用实例 5. 总结 1.  摘要 由于內存存取速度远高于磁盘读取的特性,为了程序效率提高性能,通常会把常用的不常变动的数 ...

随机推荐

  1. nacos启停脚本

    nacosServer.sh #!/bin/bash #auther by wangxp PWD=`pwd` #配置java环境变量 JAVA_HOME=/u01/java_home/jdk1.8.0 ...

  2. 实验5 开源控制器实践——POX

    实验5 开源控制器实践--POX 一.实验目的 1.能够理解 POX 控制器的工作原理: 2.通过验证POX的forwarding.hub和forwarding.l2_learning模块,初步掌握P ...

  3. MySql数据库读取字段错误问题

    一个小小的BUG,断断续续搞了一个月才搞定,使用MySql的时候使用mysql_fetch_fields()获取的字段始终始终是错误的,因为是修改别人的代码,一直找不到问题,Debug了无数次还是搞不 ...

  4. Python命令提示符:不是内部或外部命令,也不是可运行的程序或批处理文件

    Python原装IDE(Integrated Development Environment)安装时,需要确认更新pip(什么是 pip ?pip 是 Python 中的标准库管理器.它允许你安装和管 ...

  5. Swagger UI教程 API 文档神器 搭配Node使用 web api 接口文档 (转)

    http://www.68idc.cn/help/makewebs/qitaasks/20160621620667.html 两种方案 一.Swagger 配置 web Api 接口文档美化 二.通过 ...

  6. beta冲刺:汇总博客

    这个作业属于哪个课程 <班级的链接> 这个作业要求在哪里 <作业要求的链接> 这个作业的目标 汇总博客 作业正文 .... 其他参考文献 ... 博客 beta冲刺(1/5) ...

  7. beta冲刺:总结随笔

    这个作业属于哪个课程 <班级的链接> 这个作业要求在哪里 <作业要求的链接> 这个作业的目标 beta冲刺总结 作业正文 .... 其他参考文献 ... 一.预期计划 | 6. ...

  8. MyBatis 版本升级引发的线上问题

    MyBatis上线前后的版本:上线前(3.2.3)上线后(3.4.6) 服务上线后,开始陆续出现了一些更新系统交互日志方面的报警,这属于系统的辅助流程,报警如下代码所示.我们发现都是跟 MyBatis ...

  9. 用Python基于Google Bard做一个交互式的聊天机器人

    用Python基于Google Bard做一个交互式的聊天机器人 之前已经通过浏览器试过了 Google Bard ,更多细节请看: Try out Google Bard, Will Google ...

  10. ArcGIS JS API加载带参数的rest服务参数被截掉问题处理

    我们在做一些项目的时候,会对ArcGIS的图层服务进行转发,增加一些权限参数以保证数据访问的安全, 但使用ArcGIS JS API加载的时候,对于rest服务?后增加的参数会被截掉. 为解决这个问题 ...