请问所有的C#数据类型转换方法

请高手指点全部的C#数据转换方法
比如 i = Convert.ToInt32(a) 整形转换
等举例个例子 多谢了

老兄,你都已经说了万能的转换方法了——是骑在驴子上找驴吧。

Convert后面 可以点出很多东西。

.ToInt32(); //转换成32位的整数
.ToInt16(); //转换成16位的整数
.ToBoolean(); //转换成 bool 值
.ToString(); //转换成 字符串
.ToDouble(); //转换成小数

.......

后面都有提示的,
在C#里面 Convert 几乎是 万能转换了,只要不出现异常,可以随意转换....
太方便了。

当然,还是说说其他的简单转换的方法....

变量.ToString(); //最常见的转换成 字符串。

""+2514 //字符串+数字 最后会全部转换成 字符串。

((类名A)对象名X) //强行将 对象X 转换成 A类 的对象

......
都是靠楼主自己总结的,代码敲多了就自然知道了.....
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-05-23
int i = int.Parse(a);还有,如果要转换成的类型为引用类型,还可以用 as
teacher tea = teahcer();
如 student stu = tea as student;
我知道的就这些了.
第2个回答  2009-05-26
Convert.To**(变量);
**.Partse(变量);
** a= 变量 as **;
** a= **(变量);

其中,**为数据类型
第3个回答  2009-05-23
string s="123";
int i=int.Parse(s);
int j=int.TryParse(s);
第4个回答  推荐于2016-01-30
1、数据类型的类名
这里讲的数据的类名指的是: Sytem.data.DbType对应的类型,我是这样理解的。
类名 System中相对应的类型
bool System.Boolean (布尔型,其值为 true 或者 false)
char System.Char (字符型,占有两个字节,表示 1 个 Unicode 字符)
byte System.Byte (字节型,占 1 字节,表示 8 位正整数,范围 0 ~ 255)
sbyte System.SByte (带符号字节型,占 1 字节,表示 8 位整数,范围 -128 ~ 127)
ushort System.UInt16 (无符号短整型,占 2 字节,表示 16 位正整数,范围 0 ~ 65,535)
uint System.UInt32 (无符号整型,占 4 字节,表示 32 位正整数,范围 0 ~ 4,294,967,295)
ulong System.UInt64 (无符号长整型,占 8 字节,表示 64 位正整数,范围 0 ~ 大约 10 的 20 次方)
short System.Int16 (短整型,占 2 字节,表示 16 位整数,范围 -32,768 ~ 32,767)
int System.Int32 (整型,占 4 字节,表示 32 位整数,范围 -2,147,483,648 到 2,147,483,647)
long System.Int64 (长整型,占 8 字节,表示 64 位整数,范围大约 -(10 的 19) 次方到 10 的 19 次方)
float System.Single (单精度浮点型,占 4 个字节)
double System.Double (双精度浮点型,占 8 个字节)
代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace TypeTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
bool bo = true;
byte b = 9;
char c = 'a';
sbyte sb = 8;
short s = 8;
int i= 7;
uint u = 6;
long l = 5;
this.textBox1.Text = "typetest";
this.textBox1.AppendText("bool -> " + bo.GetType().FullName + ""n");
this.textBox1.AppendText("byte -> " + b.GetType().FullName + ""n");
this.textBox1.AppendText("char -> " + c.GetType().FullName + ""n");
this.textBox1.AppendText("sbyte -> " + sb.GetType().FullName + ""n");
this.textBox1.AppendText("short -> " +s.GetType().FullName + ""n");
this.textBox1.AppendText("int -> " + i.GetType().FullName + ""n");
this.textBox1.AppendText("uint -> " +u.GetType().FullName + ""n");
this.textBox1.AppendText("long -> " +l.GetType().FullName + ""n");
//其实类型就不写上,自己可以真接加上去!
}
}
}

结果可看到:
typetestbool -> System.Boolean
byte -> System.Byte
char -> System.Char
sbyte -> System.SByte
short -> System.Int16
int -> System.Int32
uint -> System.UInt32
long -> System.Int64
//
说明,以后所编的代码都是写在private void Form1_Load(object sender, EventArgs e)中的

2、Value Type间的转换。
bool bo = true;
byte b = 9;
char c = 'a';
sbyte sb = 8;
short s = 8;
int i = 7;
uint u = 6;
long l = 5;
this.textBox1.Text = "datatype";
this.textBox1.AppendText("bool bo=" + bo.ToString() + ""n");
this.textBox1.AppendText("byte b= " + b.ToString() + ""n");
this.textBox1.AppendText("char c= " + c.ToString() + ""n");
this.textBox1.AppendText("sbyte sb= " + sb.ToString() + ""n");
this.textBox1.AppendText("short s= " + s.ToString() + ""n");
this.textBox1.AppendText("int i= " + i.ToString() + ""n");
this.textBox1.AppendText("uint u=" + u.ToString() + ""n");
this.textBox1.AppendText("long l= " + l.ToString() + ""n");
此段代码并没有转换数据类型,只说明它们的类型公别还是System.bool型…System.long型。
追加一行:int g = 1;
short h = g;
this.textBox1.AppendText("h = " + h.ToString() + ""n");
结果编译报错:
  G:"Projects"Visual C#"Convert"Form1.cs(118): 无法将类型“int”隐式转换为“short”
数据要进行强制转换。
如上例修改如下:
short g = 1;
byte h = (byte) g; // 将 short 型的 g 的值强制转换成byte型后再赋给变量 h
this.textBox1.AppendText("h = " + h.ToString() + ""n");
就可以了!
Short->byte
short g = 265; //265 = 255 + 10
byte h = (byte) g;
this.textBox1.AppendText("h = " + h.ToString() + ""n");
注意:溢出问题!
3、ASCII<->Unicode

char ch = 'a';
short ii = 65;
this.textBox1.Text = "";
this.textBox1.AppendText("The ASCII code of "'" + ch + ""' is: " + (short)ch + ""n");
this.textBox1.AppendText("ASCII is " + ii.ToString() + ", the char is: " + (char)ii + ""n");
char name1 = '屈';
char name2 = '志';
short name3 = 21195;
this.textBox1.AppendText("The Unicode of "'" + name1 + ""' is: " + (short)name1 + ""n");
this.textBox1.AppendText("The Unicode of "'" + name2 + ""' is: " + (short)name2+ ""n");
this.textBox1.AppendText("Unicode is " + name3.ToString() + ", the name3 is: " + (char)name3 + ""n");
  它的运行结果是
The ASCII code of 'a' is: 97
ASCII is 65, the char is: A
The Unicode of '屈' is: 23624
The Unicode of '志' is: 24535
Unicode is 21195, the name3 is: 勋

4、int<->string
float f = 12.3f;
string str = "258";
this.textBox1.Text = "";
this.textBox1.AppendText("f = " + f.ToString() + ""n");//float->string
if (int.Parse(str) == 258) //string->int
{
this.textBox1.AppendText("str convert to int successfully.");
}
else
{
this.textBox1.AppendText("str convert to int failed.");
5、String<->char[]
string str = "quzhixun";
char[] chars = str.ToCharArray();//string->char[]
this.textBox1.Text = "";
this.textBox1.AppendText("Length of ""quzhixun"" is " + str.Length + ""n");
this.textBox1.AppendText("Length of char array is " + chars.Length + ""n");
this.textBox1.AppendText("char[2] = " + chars[2] + ""n");
char[] name = { 'q', 'u', 'z', 'h', 'i', 'x', 'u','n' };
string sname = new String(name);//char[]->string
this.textBox1.AppendText("sname = """ + sname + """"n");
6、String<->byte[]
string s = "hi,屈志勋";
byte[] b1 = System.Text.Encoding.Default.GetBytes(s);//sting->byte[],半个英文1个字节,汉字2 个字节。
byte[] b2 = System.Text.Encoding.Unicode.GetBytes(s); //sting->byte[],都是两个字节。
string t1 = "", t2 = "";
foreach (byte b in b1)
{
t1 += b.ToString("") + " ";
}
foreach (byte b in b2)
{
t2 += b.ToString("") + " ";
}
this.textBox1.Text = "";
this.textBox1.AppendText("b1.Length = " + b1.Length + ""n");
this.textBox1.AppendText(t1 + ""n");
this.textBox1.AppendText("b2.Length = " + b2.Length + ""n");
this.textBox1.AppendText(t2 + ""n");
//
byte[] b = { 65, 66, 67 };
string s = System.Text.Encoding.ASCII.GetString(b);//byte[]->string
this.textBox1.AppendText("The string is: " + s + ""n");
//
7、转换十六进制
int a = 159357;
this.textBox1.Text = "";
this.textBox1.AppendText("a(10) = " + a.ToString() + ""n");
this.textBox1.AppendText("a(16) = " + a.ToString("x6") + ""n");
this.textBox1.AppendText("a(16) = " + a.ToString("X6") + ""n");
8、DateTime<->long
double doubleDate = DateTime.Now.ToOADate();//按原来的double值输出,DateTime->long
DateTime theDate = DateTime.FromOADate(doubleDate);//从原来的的double值获得System.DateTime对象,long->DateTime
this.textBox1.Text = "";
this.textBox1.AppendText("Double value of now: " + doubleDate.ToString() + ""n");
this.textBox1.AppendText("DateTime from double value: " + theDate.ToString() + ""n");
//
9、form DateTime
DateTime now = DateTime.Now;
string format;
this.textBox1.Text = "";
format = """year"":yyyy,""month"":MM,""day"":dd HH:mm:ss";
this.textBox1.AppendText(format + ": " + now.ToString(format) + ""n");
format = "yy年M日d日";
this.textBox1.AppendText(format + ": " + now.ToString(format) + ""n");

C#编程语言中,数据类型之间的转换有哪些
(1) 隐式转换:一般是低类型向高类型转化,能够保证值不发生变化。 隐式数值C#数据类型转换: 从sbyte 到 short、int、long、float、double 或 decimal。 从byte 到 short、ushort、int、uint、long、ulong、float double 或 decimal。 从short 到 int、long、float、double 或 decimal。 从ushort 到...

Csharp中数据类型转换
C#中数据类型转换如下:1、Convert.ToInt32(); \/\/转换成32位的整数。2、变量.ToString();\/最常见的转换成字符串。3、"订单"+2514 \/\/后面的数字会转换为字符串。4、((类名A)对象名X) \/\/强行将 对象X 转换成 A类 的对象。5、int.Parse(string);\/\/把字符串型转换成其他类型。

C#与C++的数据类型转换
因此unsigned char *pucCHMsg如果是作为输出缓冲区的话转换为StringBuilder pucCHMsg,如果是作为输入的话转换为String pucCHMsg,比如:int *puiPHMsgLen转换为ref int puiPHMsgLen,我在C#调用C++动态库都是这么转的。

c#中类型如何强制转换
方法:1、int适合简单数据类型之间的转换,C#的默认整型是int32(不支持bool型);2、int.Parse(stringsParameter)是个静态方法,参数类型只支持string类型;3、Convert.ToInt32()适合将Object类型转换为int型;4、Convert.ToInt32()和int.Parse()的细微差别:对于空值(null)的处理不同,Convert....

C#中如何将double或string类型的数据转换成Decimal类型的数据,为什么...
1、打开编写C语言的软件codeblocks。2、创建一个编写C语言的文件。3、接下来开始编写程序,首先是准备转换中需要用到的变量和常量。4、接着是使用clrscr函数限定开始转换,并且给value赋值为自己想要转换的double型数据。5、再然后就是使用ecvt函数开始进行转换,并且将转换的结果付给字符数组string。6、接...

C#基本数据类型操作?
C#中的基本数据类型包括bool、byte、sbyte、char、short、ushort、int、uint、long、ulong、float、double和decimal。以下是C#基本数据类型的常见操作:1. 声明变量 使用关键字“var”或具体的数据类型来声明变量,例如:var a = 10; \/\/ 使用var关键字自动推导为int类型 int b = 20;2. 赋值操作 可以...

C#中,将数值数据转换为字符数据有几种方法?将字符数据转换为数值数据...
1、数值型转化为字符串 数值型数据转换为字符串用ToString()方法即可实现。int num1=10;string mynum=num1.ToString;将数值型字符串转换成数值又该怎么办呢?我们仔细查找一下,会发现 short, int, float 等数值类型均有一个 static Parse() 函数。这个函数就是用来将字符串转换为相应数值的。我们...

c#二进制数据类型转换
includemain()main() \/*求1到100之间能bai同时被3和4整除du的所有整数的zhi和. *\/{ int i,sum=0;for(i=1;i<100;i++){ if ((i%3==0)&&(i%4==0))sum=sum+i;} printf("%d",sum);}

请教高手C# 中double 向 float 类型怎么转换啊??
有两种:1、隐式转换是直接转换 。例如:int i = 34;long j = i;2、显式转换包含有强制类型转换。 例如:double j=3.14;j=(float)j;

c#语言中怎么把int 型的数字转化为string 型输出
转化如下:1、textbox1.text=a.ToString();2、textbox1.text = Convert.ToString(a);string类型为C#中的基元类型,在编译的时候,会自动转换成FCL类型,如:string对应到FCL中的System.String。c语言可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接操作。

相似回答