自己刚学习C#,总结了一些知识,想分享给大家。毕竟刚学习这门语言,学得不深,如果哪里有错误,请帮忙指出一下哈,谢谢!

1、(int)可用于单精度、双精度等其他数值类型的转换(到整型int),不能用于转换string类型,例如:

1)这里用(int)转换string是不可以的,系统会报错,程序是不能运行。

using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 类型转换
{
class Program
{
static void Main(string[] args)
{
string myString="520";
int myint;
myint = (int)myString;
Console.WriteLine(myint);
}
}
}

2)下面例子是转换单精度类型float,这是可以的

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 类型转换
{
class Program
{
static void Main(string[] args)
{
int x;
float y=1.2f;
x = (int)y;
Console.WriteLine(x);
Console.ReadKey();
}
}
}

3)使用(int):Double或Float被转换成int类型,小数部分不进行四舍五入,结果是取整的

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 类型转换
{
class Program
{
static void Main(string[] args)
{
//double转换为int,使用Convert.ToInt32()
double myInt=1.6;
string myString = "123.45";
//string myString="abcd";
//string myString = "12345";
int intResult;
string stringResult;
intResult = (int)myInt;
Console.WriteLine(intResult);
Console.Read();
}
}
}

2、Convert.ToInt32() 可以转换字符串类型,但是字符串里的内容必须是"123456"这种,即:里面是整型数值类型的。不能是"123.456"(可认为里面是小数的)或者"abcdef"。也可转换值类型,如Double和Float。

1)字符串为"123.45",系统会报错:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 类型转换
{
class Program
{
static void Main(string[] args)
{
int myInt;
string myString = "123.45";
//string myString="abcd";
//string myString = "12345";
int intResult;
string stringResult;
intResult = Convert.ToInt32(myString);
Console.WriteLine(intResult);
Console.Read();
}
}
}

2)使用Convert.ToInt32():double或float被转换为int,小数部分可以是四舍五入的。规则是:整数位如果是:0-4:直接舍掉小数位。若数值为5.6,规则是:整数位如果为5,要返回临近偶数()结果是6  整数位为6-9是,都要进位。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 类型转换
{
class Program
{
static void Main(string[] args)
{
//double转换为int,使用Convert.ToInt32()
double myInt=1.6;
string myString = "123.45";
//string myString="abcd";
//string myString = "12345";
int intResult;
string stringResult;
intResult =Convert.ToInt32(myInt);
Console.WriteLine(intResult);
Console.Read();
}
}
}
//输出结果为2

3、int.Parse()在只能转换string类型,不能是其他,例如double到int这些数值类型是不可以的。另外,在转换string时和Convert.ToInt32() 同,字符串里的内容必须是"123456"这种,即:里面是整型数值类型的。不能是"123.456"(可认为里面是小数的)或者"abcdef"。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 类型转换
{
class Program
{
static void Main(string[] args)
{
int myInt;
//string myString = "123.45";
//string myString="abcd";
string myString = "12345";
int intResult;
string stringResult;
intResult = int.Parse(myString);
Console.WriteLine(intResult);
Console.Read();
}
}
}
//double-->int不可以
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 类型转换
{
class Program
{
static void Main(string[] args)
{
//double转换为int,使用Convert.ToInt32()
double myInt=1.6;
string myString = "123.45";
//string myString="abcd";
//string myString = "12345";
int intResult;
string stringResult;
intResult = int.Parse(myInt);
Console.WriteLine(intResult);
Console.Read();
}
}
}

4、Conver.ToInt32()可以将string=null转换为0,而(int)、int.Parse()不能对空字符串进行转换,实例:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 类型转换
{
class Program
{
static void Main(string[] args)
{
String myString = null;
String resultString;
int myInt;
// myInt = (int)myString;//不能转换null
myInt = Convert.ToInt32(myString);//将null转换为0
// myInt = int.Parse(myString);//不能转换null
Console.WriteLine(myInt);
Console.Read();

}
}
}

5、int类型转换为string 类型,使用强制类型转换符,可用Convert.ToString()去转换

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 类型转换
{
class Program
{
static void Main(string[] args)
{
//强制括号转换只能转换数值类型的
int myInt = 3;
string stringResult;
stringResult=(string)myInt;
Console.Read();
}
}
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 类型转换
{
class Program
{
static void Main(string[] args)
{
//强制括号转换只能转换数值类型的
int myInt = 333;
string stringResult;
//stringResult = Convert.ToString(myInt);
stringResult = myInt.ToString();
Console.WriteLine(stringResult);
Console.Read();
}
}
}

文章系属个人原创,请尊重原创,转载请注明出处!

文章难免会有错误,还望各位多多海涵,另外希望技术专家们多多指出不足之处,兄弟得以改进!

最新文章

  1. POJ2942 Knights of the Round Table(点双连通分量 + 二分图染色)
  2. 杭电ACM 1196
  3. ASCII码对应表
  4. 动态设置uitableview高度,参考
  5. COCOS2D-X 精灵创建随笔
  6. How and Why Unsafe is Used in Java---reference
  7. 单页面应用SPA架构
  8. LINUX centos 7.2/7.3 搭建LANP环境
  9. 使用 Prometheus + Grafana 对 Kubernetes 进行性能监控的实践
  10. Linux 文件系统模型
  11. Ubuntu下的第一个博客
  12. JS开发引用HTML DOM的location和document对象
  13. 4 Redis 配置文件介绍
  14. 【详记MySql问题大全集】三、安装之后没有my.ini配置文件怎么办
  15. 5.Hystrix-服务降级
  16. axis 数据流
  17. mac下chrome快捷键
  18. Hadoop生态圈-phoenix完全分布式部署以及常用命令介绍
  19. 迷你MVVM框架 avalonjs 沉思录 第2节 DOM操作的三大问题
  20. ORA-27300: OS system dependent operation:sendmsg failed with status: 105 ORA-27301: OS failure message: No buffer space available

热门文章

  1. idea Code激活
  2. Orleans例子源码
  3. Nginx与Tomcat/PHP架构优化的技术分享
  4. DataGrid 拖动 附加属性类
  5. python[error] - mysql_config not found
  6. CentOS 7 NetworkManager Keeps Overwriting /etc/resolv.conf
  7. [Ccodeforces 736C] Ostap and Tree - 树形DP
  8. Java经典编程题50道之十六
  9. ubuntu终端常用命令及solarized配色(护眼)
  10. Python 关于super 的 用法和原理(挖坑)