.NET中变量的类型问题
1.JAVA和C# Byte的不同。
java里一个byte取值范围是-128~127, 而C#里一个byte是0~255.
首位不同. 但是底层I/O存储的数据是一样的,
比如, 十进制的100, 转换成java或者c#的byte, 都是1100110.
但是, 使用java的getBytes()方法, 得到的是负数,即: -100110
使用C#的getBytes(),得到的是正数.1100110.
这在底层socket传输应该注意.
2. 取值范围比较
log>int>short>byte;
double>float
3. 隐式转化 和 显式转换
隐式转换: 当小范围的类型 向 大范围的类型转换时。
int a =5;
long b = a; //发生了隐式转换
显式转换: 当大范围的类型 向 小范围的类型转换时,必须显式转换。
double a =0.1;
float b =(float )a;//这里必须显式转换一下。
PS:值类型之间互相引用,方式是拷贝一个副本。所以存在转换的问题。
4. 加一个F(两个整数运算时,返回一定还是整数。)
float变量 后面最好加一个F
整数常量在参与运算,最好在末尾加一个F。
防止精度丢失
5.字符串的转意字符
1)字符串中 \ 标示他后面的字符具有特殊含义。当我们想输出 \ " 等 字符时,在前面使用\进行转意。
2)在字符串前面 加@,强制不转义!
6.各种类型的最大值、最小值。
int:最大值int.MaxValue ;最小值: int.MinValue,其他数值类型也可以通过MaxValue、MinValue获取取值范围。
7.类型转换问题
显式类型转换仅限整数、小数类型之内。
其他数据类型转换为string:
1) .ToString()/推荐:(其他类型没有)
2) Convert.ToString() 。
3) string.prese()
8.Convert 与 prese的区别 还有 int.TryParse
1)名字不同(这条是扯淡)
2)Convert.ToInt32 与 int.Parse 较为类似,实际上 Convert.ToInt32 内部调用了 int.Parse:
3)Convert.ToInt32 参数为 null 时,返回 0;
int.Parse 参数为 null 时,抛出异常。
4)Convert.ToInt32 参数为 "" 时,抛出异常;
int.Parse 参数为 "" 时,抛出异常。
5) Convert.ToInt32 可以转换的类型较多;
int.Parse 只能转换数字类型的字符串。
6)int.TryParse 与 int.Parse 又较为类似,但它不会产生异常,
转换成功返回 true,转换失败返回 false。
最后一个参数为输出值,如果转换失败,输出值为 0。
.NET中变量的类型问题的更多相关文章
- Kotlin中变量不同于Java: var 对val(KAD 02)
原文标题:Variables in Kotlin, differences with Java. var vs val (KAD 02) 作者:Antonio Leiva 时间:Nov 28, 201 ...
- java中变量命名和引用变量的一个坑
这次有两个主题,第一个太简单啦,就是java中变量的命名规则,纯记忆性东西.第二个主题,就是讨论一下对象引用变量的一个注意点.
- mysql中变量赋值
http://www.cnblogs.com/qixuejia/archive/2010/12/21/1913203.html sql server中变量要先申明后赋值: 局部变量用一个@标识,全局变 ...
- JavaScript中变量和函数声明的提升
现象: 1.在JavaScript中变量和函数的声明会提升到最顶部执行. 2.函数的提升高于变量的提升. 3.函数内部如果用var声明了相同名称的外部变量,函数将不再向上寻找. 4.匿名函数不会提升. ...
- JavaScript 中变量、作用域和内存问题的学习
这是我学习JavaScript的第二篇文章,之前做过几年的Java开发,发现JavaScript虽然也是面向对象的语言但是确实有很多不同之处.就本篇博客,主要学习总结一下最近学习到的JavaScrip ...
- Python中变量的作用域(variable scope)
http://www.crifan.com/summary_python_variable_effective_scope/ 解释python中变量的作用域 示例: 1.代码版 #!/usr/bin/ ...
- C/C++——C++变量的作用域与生命周期,C语言中变量的作用域和生命周期
全局变量 作用域:全局作用域(全局变量只需在一个源文件中定义,就可以作用于所有的源文件.) 生命周期:程序运行期一直存在 引用方法:其他文件中要使用必须用extern 关键字声明要引用的全局变量. 内 ...
- Keil C51中变量的使用
引言 8051内核单片机是一种通用单片机,在国内占有较大的市场份额.在将C语言用于51内核单片机的研究方面,Keil公司做得最为成功.由于51内核单片机的存储结构的特殊性,Keil C51中变量的使用 ...
- Objective-C中变量采用@property的各个属性值的含义
我们在OC中定义变量,可以自己来定义变量的setter方法来设置变量值,用getter方法来获取变量值.但是当变量数量增多时,还采用手动添加setter/getter方法来操作变量,就会使得程序代码量 ...
随机推荐
- JAVA设置SimpleDateFormat函数时区
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); sdf.setTimeZone(TimeZo ...
- Golang学习 - unicode 包
------------------------------------------------------------ const ( MaxRune = '\U0010FFFF' // Unico ...
- php对比辨析之 mysql_escape_string & mysql_real_escape_string & addsalshes
概述: addslashes和mysql_real_escape_string.都是为了使数据安全的插入到数据库中而进行过滤. addslashes 转义的字符是单引号(').双引号("). ...
- 关于Android中TextView显示多个空格
一.直接填写文字,输入多少,显示多少,如下: android:text="AAA AAA" ————————>显示:AAA AAA 二.通过设置str ...
- nodejs的mysql模块学习(七)连接池事件
连接池事件 connection 当建立连接的时候就会触发 pool.on('connection' function(connection){ connection.query('SET SESSI ...
- TCP/IP协议原理与应用笔记22:静态和动态路由选择
1. 静态路由选择: Static routing 管理员手工设置 管理员手动更新 不能保证路由的一致性和及时性 管理性强 没有路由开销 小型.变化缓慢网络 2. 动态路由选择 Dynamic rou ...
- 经典FormsAuthenticationTicket 分析
Asp.net中基于Forms验证的角色验证授权 Asp.net的身份验证有有三种,分别是"Windows | Forms | Passport",其中又以Forms验证用的最多, ...
- Handsontable 学习笔记-Methods
Handson: 亲自实践 先给出数据源和基本配置: var data =[ ["A1","B1","C1","D1"] ...
- 【Mood-4】心静是一门艺术
到现在工作还没有着落,心里面反而比以前平静,以前也知道自己的水平 属于一瓶不满,半瓶咣当的那种情况,但是那时候的自己总是觉得自己的综合水平可能会弥补一下自己在技术上的缺失,但是,现在看来,太过于自信, ...
- Oracle 约束类型
在Oracle中的约束类型:NOT NULLUNIQUE KeyPRIMARY KEYFOREIGN KEYCHECK create table emp--创建表格 ,注意约束( empno numb ...