变量类型的转化:

转换原则 同类型的大的可以装小的,小类型的装大的就需要强制转换。

隐式转换:

同种类型的转换:

 //有符号  long——>int——>short——>sbyte
long l = 1;
int i = 1;
short s = 1;
sbyte sb = 1;
//隐式转换 int隐式转换成了long
//可以用大范围 装小范围的 类型 (隐式转换)
l = i;
//不能够用小范围的类型去装在大范围的类型
//i = l;
l = i;
l = s;
l = sb;
i = s;
s = sb; ulong ul = 1;
uint ui = 1;
ushort us = 1;
byte b = 1; ul = ui;
ul = us;
ul = b;
ui = us;
ui = b;
us = b; //浮点数 decimal double——>float
decimal de = 1.1m;
double d = 1.1;
float f = 1.1f;
//decimal这个类型 没有办法用隐式转换的形式 去存储 double和float
//de = d;
//de = f;
//float 是可以隐式转换成 double
d = f; //特殊类型 bool char string
// 他们之间 不存在隐式转换
bool bo = true;
char c = 'A';
string str = "123123";
//特殊类型 bool char string
// 他们之间 不存在隐式转换

不同类型的转换:

char类型可以隐式转换成数值型,根据对应的ASCII码来进行转换。

无符号的无法隐式存储有符号的,而有符号的可以存储无符号的。

显示转换

  1. 括号强转(注意精度问题 范围问题)

    //有符号类型
    int i=1;
    short s=(short)i;
    //无符号类型
    byte b=1;
    uint ui=(uint)b;
    //浮点数
    float f=1.5f;
    double d=1.5;
    f=(float)d;
    //无符号和有符号
    //要保证正数 注意范围
    int ui2=1;
    int i2=1;
    ui2=(uint)i2;
    //浮点和整型
    i2=(int)1.25f;
    //char和数值类型
    i2='A';
    char c=(char)i2;
  2. Parse方法

    //Parse转换
    int i4=int.Parse("123");
    float f4=float.Parse("12.3");
    //注意类型和范围!
  3. Convert法

    int a=Convert.ToInt32("12");
    a=Convert.ToInt32("1.35f");//会四舍五入
    a=Convert.ToInt32(true);//转为1 false转为0

    注意:在Convert转换中变量以Int做标准,例如 INT16 为int,ToSingle为float

    ToDouble为double,ToBoolean为bool;

  4. 其它类型转换为string(调用ToString方式)

    string str=true.ToString();

    string str2=1.5f.ToString();


C#学习笔记--变量类型的转换的更多相关文章

  1. JS学习笔记--变量类型

    1.js数据类型分为基本数据类型和引用数据类型 基本数据类型:string.number.boolean.null.undefined.symbol(ES6中新增) 引用数据类型:object.arr ...

  2. python3.4学习笔记(二) 类型判断,异常处理,终止程序

    python3.4学习笔记(二) 类型判断,异常处理,终止程序,实例代码: #idle中按F5可以运行代码 #引入外部模块 import xxx #random模块,randint(开始数,结束数) ...

  3. 02-Swift学习笔记-元组类型

    02-Swift学习笔记-元组类型 元组类型由N个任意类型的数据组成(N>=0) 元组类型的数据称为"元素" eg var size = (x:100 , y:100) si ...

  4. C++ 学习笔记 变量和基本类型(一)

    C++ 学习笔记 一.变量和基本类型概述 类型是所有程序的基础.类型告诉我们数据代表什么意思以及可以对数据执行哪些操作. c++基本类型: 字符型 整型 浮点型 c++ 还提供了可用于自定义数据类型的 ...

  5. Python学习--Python变量类型

    变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中. 因此,变量可以指定不同的数据类型,这些变量可以存储整 ...

  6. c语言学习笔记-变量、变量的命名、变量的赋值和变量的初始化

    在学习了简单的输入输出功能和了解了一些基本的运算符号之后我们可以试着做一个非常简单的计算器. 比如说想计算23+65 输入以下代码就可以了. printf("23+65=%d",2 ...

  7. python学习之变量类型

    变量: 变量是保存在内存中的值,根据变量类型开辟不同的内存空间且只允许符合该数据类型的数据才可以被存储在该内存空间中 变量赋值: 在Python中定义变量时,无需像其他语言一样需要声明数据类型.每个变 ...

  8. Python学习--03变量类型

    变量赋值 Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程. 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息. 每个变量在使用前都必须赋值,变量赋值以后该变量才会被创 ...

  9. Webpack4 学习笔记二 CSS模块转换

    前言 此内容是个人学习笔记,以便日后翻阅.非教程,如有错误还请指出 webpack 打包css模块 webpack是js模块打包器, 如果在入口文件引入css文件或其它的less.sass等文件,需要 ...

  10. 【Python】2.12学习笔记 变量

    变量 关于变量我有一个不能理解的,关于全局变量作用域与地址的问题,学函数的时候我可能会搞懂它并且写下来 另外,其实昨天说的是有些不准确的,\(Python\)里的变量不是不用声明类型,只是声明方式特殊 ...

随机推荐

  1. 搭建私人GPT及域名配置

    前几天在掘金看到一个搭建私人ChatGPT的教程,看起来并不难. 我也有OpenAI的API Key,然后前阵子我看到我的账号余额还有很多,我的api key其实就一个机器人在用,没用多少. 还有,就 ...

  2. @Repeatable元注解的使用

    @Repeatable注解表明标记的注解可以多次应用于相同的声明或类型,此注解由Java SE 8版本引入.以下示例如何使用此注解: 第一步,先声明一个重复注解类: package org.sprin ...

  3. mysql where和having的用法例子

    结论:想在分组之后在进行过滤就要使用having了,如果只是对指定的行进行过滤的话,那么就需要使用where了

  4. 离线安装mysql报错解决方法:/usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open sha --九五小庞

    Linux:centos 7.6 64位 mysql:5.6使用离线方式安装:rpm -ivh --nodeps mysql* ,执行 systemctl start mysqld.service发现 ...

  5. 提升性能的利器:深入解析SectionReader

    一. 简介 本文将介绍 Go 语言中的 SectionReader,包括 SectionReader的基本使用方法.实现原理.使用注意事项.从而能够在合适的场景下,更好得使用SectionReader ...

  6. SQL SERVER 查看表说明,字段属性

    查询表字段属性,说明等: 1 SELECT 2 表名=case when a.colorder=1 then d.name else '' end, 3 表说明=case when a.colorde ...

  7. 国产开源流批统一的数据同步工具Chunjun入门实战

    @ 目录 概述 定义 特性 部署 安装 版本对应关系 通用配置详解 整体配置 Content 配置 Setting 配置 Local提交 Standalone提交 Json方式使用 SQL方式使用 M ...

  8. Vue学习之认识ref

    ref相当于一个dom节点,值为string 通俗将类似于原生js的document.querySelector('xxx'):但是不同的是vue是操纵虚拟dom,在渲染初期并没有这个属性,而是在创建 ...

  9. 前端uni-app自定义精美全端复制文本插件,支持全端文本复制插件 可设置复制按钮颜色

    随着技术的发展,开发的复杂度也越来越高,传统开发方式将一个系统做成了整块应用,经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改,造成牵一发而动全身. 通过组件化开发,可以有 ...

  10. 自定义gradle插件并且发布到本地仓库

    转载请标明出处,维权必究:http://77blogs.com/?p=189 一.在工程上新建一个Module. 二.删除其余不必要的文件,最终目录结构如下: 注意:由于我用的是kotlin语言,所以 ...