C#的几种强转的整理

fool me once, shame on you ; fool me twice,shame on me;

1、(int)变量名[强制类型转换]

该转换方式多用于数字类型的转换从int转到long、duoble、float、decimal的转换可以使用隐

式转换,而从long转换到int就需要使用显示转换了,也就是该类型的转换方式。该类型的转换方式对于

浮点数会无条件的舍去,失去精度。

最后切忌的一点,千万不要用来处理char类型到int类型的转换,否则传回的的值是ASCII代码,

而并不是你想要的值。

2、int.Parse(string类型变量名)

我们常见的用法:public static int.Parse(string).

如果这里的string 为空的话,则系统将会抛出空指针的异常(ArgumentNullException);

如果这里的string格式不正确,系统也会在这里抛出异常(FormatException);

使用该方法切忌的一点就是只能处理字符串内容,而且字符串内容只能在int类型可表示的范围 之内。

3、 int.TryParse(string s, out int result)

该方式也是将数字内容的字符串转为int类型,但是该方式比int.Parse优越的地方,就是它不会出

现异常。如果转换成功返回 true,如果转换失败返回 false。很明显,最后一个参数为输出值,如果转换

失败,输出值为 0;如果转换成功,则输出相应的值。

4 Convert.ToInt32

该方式不仅可以将字符串转为int类型,还可以将其它类型的值转成int类型。变量若为object或

string类型,当其值为null时,会传回0,不会造成程序错误,但是若此string类型的值为string.Empty,

在转型成int时,仍会造成程序错误。     该方式对于浮点数会做四舍五入。

该方式同强制转换一样,不能用来处理char类型,否则传回的是ASCII代码。

时间: 2024-08-06 21:45:26

C#的几种强转的整理的相关文章

js三种基础数组排序算法整理

数组排序,大概是每个程序员必须掌握的基本算法 ,作为一个刚入门的前端小卒,再被各种面试各种排序折磨过后 ,看过很多别人写的 算法 ,但看总归是理解的不是那么深刻 ,便想着自己整理一下这最基本的三个排序算法 ,希望对还在学习的你有些许帮助 .比较基本的三种算法 .冒泡.插入 .快速 . 首先来看冒泡排序法 ,基本原理其实就是对数组进行两层循环,外层循环控制次数,数组中有多少个成员,便是要进行多少次内层遍历,不断地将当前成员和下一成员进行对比 ,其实在群众偶其中有很多次是重复对比的 ,先看这样一个写

Java的23种设计模式详解整理之创建型模式

最近重新阅读"四巨头"的设计模式. 对一些设计模式有了更多的理解. 原著中的例子是C++写的,不好理解. 这里我换成了Java, 代码示例仅供参考,没有具体实现. 介于个人水平有限,如有纰漏,请指正.有问题的朋友可以私信我或者发我邮箱(请到我主页查看),我看到就会回复. 希望和大家一起进步. 工作中有时候最困难的不是怎么去实现一个功能,而是怎么去设计一个功能.我常常会因为频繁改动需求大费脑筋.之后我在思考如何将一个功能在设计之初就做好扩展的准备,防止需求变动导致大面积的修改.code之

几种常见模式识别算法整理和总结

这学期选了门模式识别的课.发现最常见的一种情况就是,书上写的老师ppt上写的都看不懂,然后绕了一大圈去自己查资料理解,回头看看发现,Ah-ha,原来本质的原理那么简单,自己一開始仅仅只是被那些看似formidable的细节吓到了.所以在这里把自己所学的一些点记录下来,供备忘,也供參考. 1. K-Nearest Neighbor K-NN能够说是一种最直接的用来分类未知数据的方法.基本通过以下这张图跟文字说明就能够明确K-NN是干什么的 简单来说,K-NN能够看成:有那么一堆你已经知道分类的数据

[redis]redis五种数据类型命令汇总整理

redis所有命令参考中文版 键key 命令 时间复杂度 命令描述 返回值 del key O(N) 在key存在时删除key 被移除key的数量 dump key O(N) 序列话给定key,并返回被序列化的值 exists key O(1) 检查给定key是否存在 若key存在,返回1,否则返回0. expire key seconds O(1) 为给定key设置过期时间 设置成功返回1. 当key不存在或者不能为key设置生存时间时(比如在低于2.1.3中你尝试更新key的生存时间),返回

常用的几种轮播图整理

//文字左右轮播 !(function () { var nav = document.getElementById('nav'); var wrap = document.getElementById('wrap'); var start = document.getElementById('start'); var startWidth = getStyle(start, 'width'); function move() { wrap.scrollLeft++; if (wrap.scro

Map集合的四种常用遍历方式整理

1.Map集合简介:map集合是一个key-value型的数据结构,存储的数据具有查询速度快速的特点,但由于是无序的,所以没有顺序可言.在遍历时没有办法像简单的list或数组一样. 2.代码: 1 package com.cn.testmap; 2 3 import java.util.HashMap; 4 import java.util.Iterator; 5 import java.util.Map; 6 import java.util.Map.Entry; 7 8 /** 9 * ma

var,let,const,三种申明变量的整理

javascript,正在慢慢变成一个工业级语言,势力慢慢渗透ios,安卓,后台 首先let,是局部变量,块级作用域:var全局的,const是常量,也就是只读的: 一行demo说明 for (var i = 0; i < 10; i++) { var p=document.getElementsByTagName("p");for (let i = 0; i < p.length; i++) { p[i].onclick=function(){ alert(p[i].in

PHP 几种常用的算法整理

一.冒泡排序 <?php $arr=array(1,5,9,7,2,8,4,3,6); //控制冒泡的轮次 for($i=1;$i<count($arr);$i++) { //控制需要比较的次数,每轮冒出一个数 for($k=0;$k<count($arr)-$i;$k++){ if($arr[$k]>$arr[$k+1]){ $tmp=$arr[$k+1]; $arr[$k+1]=$arr[$k]; $arr[$k]=$tmp; } } } print_r($arr); 二.利用

python--各种锁机制归纳整理

Q:为什么要用锁?什么样的业务场景下需要用锁? 就拿之前的工单系统来说,当审批方式为角色组审批时,代表该角色组内任意一人审批即可,这时,该角色组内成员的系统上都是可以显示审批按钮,如果此时A审批员和B审批员都同时审批了同一工单,有可能会出现不一样的审批结果,即使审批意见是一致的,多人操作也会增加对数据库的操作次数,同时也消耗了很大时间成本,用了锁机制,确保这部分是只一人在操作. Q:你知道MySQL有哪些锁? 悲观锁.乐观锁            排它锁.共享锁