📄 11327.htm
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>C#的数据类型 - 编程入门网</title>
<meta name="keywords" content="C#的数据类型">
<meta name="description" content="C#的数据类型">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="/images/style.css" rel="stylesheet" type="text/css" />
<script src="/js1/head.js"></script>
</head>
<body leftmargin="0" topmargin="0" bgcolor="#efefef" oncopy=nocopy()>
<TABLE width="760" cellPadding="0" cellSpacing="0" bgcolor="#eff7fe" align="center">
<TR>
<TD><a href="/index.htm"><img src="/images/logo1.gif" width="150" height="60" border="0"></a></TD>
<TD width="470" align="right"><script src="/js1/top.js"></script></TD>
<TD width="125" align="center"><script src="/js1/topsy.js"></script></TD>
</TR>
</TABLE>
<table width="760" border="0" cellpadding="1" cellspacing="0" class="bklan" align="center">
<tr>
<td align="center" bgcolor="#eff7fe" height="24"> | <a href='/Programming/index.htm'>编程语言</a> | <a href='/webkf/index.htm'>web开发</a> | <a href='/data/index.htm'>数据库</a> | <a href='/Network/index.htm'>网络技术</a> | <a href='/OS/index.htm'>操作系统</a> | <a href='/Servers/index.htm'>服务器</a> | <a href='/web/index.htm'>网页设计</a> | <a href='/Design/index.htm'>图形设计</a> | <a href='/Office/index.htm'>办公软件</a> | <a href='/soft/index.htm'>常用软件</a> | <a href='/shadu/index.htm'>杀毒频道</a> | <a href='/PC/index.htm'>学电脑</a> |</td>
</tr>
</table>
<table cellspacing="0" cellpadding="0" width="760" align="center" bgcolor="#ffffff" border="0">
<tr>
<td align="center"><script src="/js1/content1.js"></script></td>
</tr>
</table>
<table width="760" border="0" cellpadding="0" cellspacing="0" align="center">
<tr>
<td height="25" background="/templets/img/31bg3.gif" align="left" class="guidet"> → 当前位置:<a href='http://www.bianceng.cn/'>首页</a>→<a href='/Programming/index.htm'>编程语言</a>→<a href='/Programming/cs/index.htm'>C#</a>→<a href='/Programming/cs/jc/index.htm'>C#教程</a>→正文</td>
</tr>
</table>
<table width="760" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
<tr>
<td valign="top" class="guidet" width="595"><table width="100%" border="0" cellpadding="0" cellspacing="0" class="ct">
<tr>
<td align="center" valign="middle" class="til"><h3> C#的数据类型 </h3>
发布时间:2009-04-25 来源:编程入门网 作者:L小凤<br />
<script src="/js1/468.js"></script>
</td>
</tr>
<tr>
<td style="font-size:14px" align="left" class="til"><table border="0" align="right" cellpadding="0" cellspacing="0">
<tr>
<td align="center"><script src="/js1/300.js"></script></td>
</tr>
</table><p> 一.计算机数据基础</p>
<p> 一般来说,计算机要存储和处理不同的数据类型,在C#中有基本的数据类型和用户自定义数据类型以及引用型数据。我们先学习下基本的数据类型,也就是系统自带的数据类型。</p>
<p> 每种数据类型都要占据系统内存的一定空间,例如C#中的整数int ,一个整数占4个字节,也就是32位;计算机是用0和1二进制来表示和处理数据的,所以一个32位的整数的最大值是:+2的31次幂-1,最小值是-2的31次幂-1。同时要注意的是,数据中还有无符号和有符号之分。大家在计算机文化基础中应该学过,例如,int 和uint两种类型的数据都是32位,但是无符号的uint中没有正负之分,而在int中的最高位取0还是取0决定了int类型的数是整数和负数。</p>
<p> int类型的范围是:(-2的31次幂-1——+2的31次幂-1);而uint类型的数值范围是:0——2的32次幂-1。接下来我们学习下C#的各种基本数据类型。</p>
<h3>二.2.1 各种整数类型的数据比较如下表:</h3>
<table border="1">
<tbody>
<tr>
<td width="142">C#中定义符号</td>
<td width="142">位数(1字节=8位)</td>
<td width="142">最高位是符号位</td>
<td width="142">取值</td>
</tr>
<tr>
<td width="142">byte</td>
<td width="142">8</td>
<td width="142">Y</td>
<td width="142">-128——127</td>
</tr>
<tr>
<td width="142">sbyte</td>
<td width="142">8</td>
<td width="142">N</td>
<td width="142">0——255</td>
</tr>
<tr>
<td width="142">int </td>
<td width="142">32</td>
<td width="142">Y</td>
<td width="142"><img height="21" alt="" width="95" border="0" src="/upimg/userup/0904/25131Gc2A.jpg" /> </td>
</tr>
<tr>
<td width="142">uint</td>
<td width="142">32</td>
<td width="142">N</td>
<td width="142"><img height="21" alt="" width="75" border="0" src="/upimg/userup/0904/25131I541U.jpg" /> </td>
</tr>
<tr>
<td width="142">short</td>
<td width="142">16</td>
<td width="142">Y</td>
<td width="142">-32768——32767</td>
</tr>
<tr>
<td width="142">ushort</td>
<td width="142">16</td>
<td width="142">N</td>
<td width="142">0——65635</td>
</tr>
<tr>
<td width="142">long</td>
<td width="142">64</td>
<td width="142">Y</td>
<td width="142"><img height="21" alt="" width="92" border="0" src="/upimg/userup/0904/25131JV391.jpg" /> </td>
</tr>
<tr>
<td width="142">ulong</td>
<td width="142">64</td>
<td width="142">N</td>
<td width="142"><img height="21" alt="" width="66" border="0" src="/upimg/userup/0904/25131P25V7.jpg" /> </td>
</tr>
</tbody>
</table>
<p> 整数型数据的定义比较简单,方法有两种:</p>
<p> (1):int page=888; //在定一定的同时赋值 </p>
<p> (2):int page;</p>
<p> page=888;//先定义再赋值。其他的不说了,方法是一样的。:</p>
<p> 2.2布尔型数据</p>
<p> bool类型数据在内存只占一位,所以它的值也只有两个:0和1;在很多应用中用来表示条件是否成立或者是表达式的真假。true表示真,false表示假。</p>
<p> bool flag=fale; bool text=true;</p>
<p> bool real=(3==5);//判读3是否等于5,返回值real=false;</p>
<p> 2.3字符型char</p>
<p> 所有字符型类型数据都有个对应的ASCII码值(0~127);</p>
<p> 字符型数据的定义要特别注意:</p>
<p> <span style="FONT-SIZE: 9pt; COLOR: rgb(0,0,255); FONT-FAMILY: '新宋体'">char</span><span style="FONT-SIZE: 9pt; FONT-FAMILY: '新宋体'"> ch = </span><span style="FONT-SIZE: 9pt; COLOR: rgb(128,0,0); FONT-FAMILY: '新宋体'">'x'</span><span style="FONT-SIZE: 9pt; FONT-FAMILY: '新宋体'">;</span></p>
<p> <span style="FONT-SIZE: 9pt; COLOR: rgb(0,0,255); FONT-FAMILY: '新宋体'">char</span><span style="FONT-SIZE: 9pt; FONT-FAMILY: '新宋体'"> ch1 = </span><span style="FONT-SIZE: 9pt; COLOR: rgb(128,0,0); FONT-FAMILY: '新宋体'">'a'</span><span style="FONT-SIZE: 9pt; FONT-FAMILY: '新宋体'">;</span><span style="FONT-SIZE: 9pt; FONT-FAMILY: '新宋体'">在</span><span style="FONT-SIZE: 9pt; FONT-FAMILY: '新宋体'">’ ‘</span><span style="FONT-SIZE: 9pt; FONT-FAMILY: '新宋体'">之间的字符只能有一个。现在来看个非法的例子:</span></p>
<p> <span style="FONT-SIZE: 9pt; COLOR: rgb(0,0,255); FONT-FAMILY: '新宋体'">char</span><span style="FONT-SIZE: 9pt; FONT-FAMILY: '新宋体'"> ch3=</span><span style="FONT-SIZE: 9pt; COLOR: rgb(128,0,0); FONT-FAMILY: '新宋体'">'222'</span><span style="FONT-SIZE: 9pt; FONT-FAMILY: '新宋体'">;</span></p>
<p> 按F5运行后会出现错误:错误1:字符文本中的字符太多<span style="FONT-SIZE: 9pt; FONT-FAMILY: '新宋体'"> </span></p>
<p> 2.3:字符串string</p>
<p> <span style="FONT-SIZE: 12pt; FONT-FAMILY: '宋体'"> </span>字符串类型的数据定义是这样的:<span style="FONT-SIZE: 12pt; COLOR: rgb(0,0,255); FONT-FAMILY: '新宋体'">string</span><span style="FONT-SIZE: 12pt; FONT-FAMILY: '新宋体'"> name = </span><span style="FONT-SIZE: 12pt; COLOR: rgb(128,0,0); FONT-FAMILY: '新宋体'">"bianceng"</span><span style="FONT-SIZE: 12pt; FONT-FAMILY: '新宋体'">;</span></p>
<p> 在定义字符串变量的时候要特别的主要符号:” ”;不要把它和字符的定义搞混淆了。</p>
<p> 字符串在存储时候的有个结束符:\o</p>
<p> <span style="FONT-SIZE: 12pt; FONT-FAMILY: '新宋体'">以</span><span style="FONT-SIZE: 12pt; COLOR: rgb(0,0,255); FONT-FAMILY: '新宋体'">string</span><span style="FONT-SIZE: 12pt; FONT-FAMILY: '新宋体'"> name = </span><span style="FONT-SIZE: 12pt; COLOR: rgb(128,0,0); FONT-FAMILY: '新宋体'">"bianceng"</span><span style="FONT-SIZE: 12pt; FONT-FAMILY: '新宋体'">为例,其存储结构如下:</span></p>
<table border="1">
<tbody>
<tr>
<td width="63">b</td>
<td width="63">i</td>
<td width="63">a</td>
<td width="63">n</td>
<td width="63">c</td>
<td width="63">e</td>
<td width="63">n</td>
<td width="63">g</td>
<td width="63">\0</td>
</tr>
</tbody>
</table>
<p> \0表示字符串的结束.</p>
<p> 2.4实数型</p>
<p> 实数型数据包括:浮点型float,双精度 double和 小数型decimal,三种数据类型的特征如下表所示:</p>
<table>
<tbody>
<tr>
<td width="189">
<p> 类型</p>
</td>
<td width="189">
<p> 大小(位)</p>
</td>
<td width="189">
<p> 精度(有效数字)位</p>
</td>
</tr>
<tr>
<td width="189">
<p> float</p>
</td>
<td width="189">
<p> 32</p>
</td>
<td width="189">
<p> 7</p>
</td>
</tr>
<tr>
<td width="189">
<p> double</p>
</td>
<td width="189">
<p> 64</p>
</td>
<td width="189">
<p> 15</p>
</td>
</tr>
<tr>
<td width="189">
<p> decimal</p>
</td>
<td width="189">
<p> 128</p>
</td>
<td width="189">
<p> 28</p>
</td>
</tr>
</tbody>
</table>
<p> 三类数据都有正负之分。</p>
<p> 数据的定义使用如下:</p>
<p> double price=157.144;</p>
<p> float price=888.777f;</p>
<p> decimal price=999.999m;</p>
<p> 2.5Char类型。</p>
<p> Char类型的可能值对应于统一字符编码标准(Unicode)的字符集。</p>
<p> Char类型与其他整数类型相比有以下两点不同之处:</p>
<p> 1、没有其他类型到char类型的隐式转换。即使是对于sbyte,byte和ushort这样能完全使用char类型代表其值的类型, sbyte,byte和ushort到char的隐式转换也不存在。</p>
<p> 2、char类型的常量必须被写为字符形式,如果用整数形式,则必须带有类型转换前缀</p>
<p> 三..其他复杂数据类型</p>
<p> C#中其他的复杂数据类型在这里不介绍,在后续的章节中会做详细的讲解。</p>
<p> 附ASCII表:</p>
<table border="1">
<tbody>
<tr>
<td width="49">A S C I I值</td>
<td width="73">控制字符 </td>
<td width="68">A S C I I值</td>
<td width="67">字符 </td>
<td width="71">A S C I I值</td>
<td width="62">字符 </td>
<td width="71">A S C I I值</td>
<td width="39">字符 </td>
</tr>
<tr>
<td width="49">0 0 0 </td>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -