当前位置: 首页 > 编程日记 > 正文

C#2.0实例程序STEP BY STEP--实例二:数据类型

C#2.0实例程序STEP BY STEP--实例二:数据类型

与其他.NET语言一样,C#支持Common Type Sysem(CTS),其中的数据类型集合不仅包含我们熟悉的基本类型,例如int,char和float等,还包括比较复杂的类型,例如内部的string类型和表示货币值的decimal类型。而且,每种数据类型不仅是一种基本数据类型,还是一个真正的类,其方法可以用与格式化、系列化和类型转换等。
      下面看第一个例子:值类型--整数类型

None.gifusing System;
None.gif
using System.Collections;
None.gif
using System.Collections.Generic;
None.gif
using System.IO;
None.gif
None.gif
class DataTypes
ExpandedBlockStart.gifContractedBlock.gif
dot.gif{
InBlock.gif    
public static void Main(string[] args) 
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        
bool gobool=true;
InBlock.gif        
sbyte sbyteNu;                    //声明一个sbyte变量,CTS类型为System.sbyte
InBlock.gif
        short shortNu;                    //声明一个short变量,CTS类型为System.Int16
InBlock.gif
        int   intNu;                    //声明一个int变量,CTS类型为System.Int32
InBlock.gif
        long  longNu;                   //声明一个long变量,CTS类型为System.Int64
InBlock.gif
        byte  byteNu;                    //声明一个byte变量,CTS类型为System.Byte
InBlock.gif
        ushort  ushortNu;                //声明一个ushort变量,CTS类型为System.Uint16
InBlock.gif
        uint    uintNu;                    //声明一个uint变量,CTS类型为System.Uint32
InBlock.gif
        ulong   ulongNu=0;                //声明一个ulong变量,CTS类型为System.Uint64
InBlock.gif
        bool    testbool=false;
InBlock.gif        
ContractedSubBlock.gifExpandedSubBlockStart.gif        
sbyte类型#region sbyte类型
InBlock.gif        Console.WriteLine(
"请输入一个sbyte类型的整数.sbyte是有8位符号的整数,范围为-128到127之间:");
InBlock.gif        
while(gobool)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
try
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
InBlock.gif                sbyteNu
=sbyte.Parse(Console.ReadLine());
InBlock.gif                Console.WriteLine(
"{0}这是一个sbyte类型的整数。",sbyteNu);
InBlock.gif                gobool
=false;
ExpandedSubBlockEnd.gif            }

InBlock.gif            
catch(Exception caught)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                Console.WriteLine(caught.Message
+"  请您重新输入(sbyte是有8位符号的整数,范围为-128到127之间):");
InBlock.gif                
ExpandedSubBlockEnd.gif            }

ExpandedSubBlockEnd.gif        }

InBlock.gif        Console.WriteLine(
"\n");
ExpandedSubBlockEnd.gif        
#endregion
               
InBlock.gif        
ContractedSubBlock.gifExpandedSubBlockStart.gif        
short类型#region short类型
InBlock.gif        Console.WriteLine(
"请输入一个Short类型的整数.\nshort是有16位符号的整数,范围为-32768到32767之间:");
InBlock.gif        
while(gobool==false)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
try
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
InBlock.gif                shortNu
=short.Parse(Console.ReadLine());
InBlock.gif                Console.WriteLine(
"{0}这是一个short类型的整数。",shortNu);
InBlock.gif                gobool
=true;
ExpandedSubBlockEnd.gif            }

InBlock.gif            
catch(Exception caught)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                Console.WriteLine(caught.Message
+"\n请您重新输入(short是有16位符号的整数,范围为-32768到32767之间):");
InBlock.gif                
ExpandedSubBlockEnd.gif            }

ExpandedSubBlockEnd.gif        }

ExpandedSubBlockEnd.gif        
#endregion

InBlock.gif        
ContractedSubBlock.gifExpandedSubBlockStart.gif        
Int类型#region Int类型
InBlock.gif        Console.WriteLine();
InBlock.gif        Console.WriteLine(
"请输入一个int类型的整数.\nint是有32位符号的整数,范围为-2147483648到2147483647之间:");
InBlock.gif        
while(gobool==true)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
try
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
InBlock.gif                intNu
=int.Parse(Console.ReadLine());
InBlock.gif                Console.WriteLine(
"{0}这是一个int类型的整数。",intNu);
InBlock.gif                gobool
=false;
ExpandedSubBlockEnd.gif            }

InBlock.gif            
catch(Exception caught)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                Console.WriteLine(caught.Message
+"\n请您重新输入(int是有32位符号的整数,范围为-2147483648到2147483647之间):");
ExpandedSubBlockEnd.gif            }

ExpandedSubBlockEnd.gif        }

InBlock.gif        Console.WriteLine();
ExpandedSubBlockEnd.gif        
#endregion

InBlock.gif        
ContractedSubBlock.gifExpandedSubBlockStart.gif        
long类型#region long类型
InBlock.gif        Console.WriteLine(
"请输入一个long类型的整数.\nlong是有64位符号的整数,范围为-9223372036854775808到9223372036854775807之间:");
InBlock.gif        
while(gobool==false)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
try
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
InBlock.gif                longNu
=long.Parse(Console.ReadLine());
InBlock.gif                Console.WriteLine(
"{0}这是一个long类型的整数。",longNu);
InBlock.gif                gobool
=true;
ExpandedSubBlockEnd.gif            }

InBlock.gif            
catch(Exception caught)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                Console.WriteLine(caught.Message
+"\n请您重新输入(long是有64位符号的整数,范围为-9223372036854775808到9223372036854775807之间):");
InBlock.gif    
ExpandedSubBlockEnd.gif            }

ExpandedSubBlockEnd.gif        }

InBlock.gif        Console.WriteLine();
ExpandedSubBlockEnd.gif        
#endregion

InBlock.gif        
ContractedSubBlock.gifExpandedSubBlockStart.gif        
byte类型#region byte类型
InBlock.gif        Console.WriteLine(
"byte类型的最小值是{0},最大值是{1}!",byte.MinValue,byte.MaxValue);
InBlock.gif        byteNu
=127;
InBlock.gif        sbyteNu
=127;
InBlock.gif        testbool
=(byteNu==sbyteNu);
InBlock.gif        Console.WriteLine(
"判断byteNu和sbyteNu是否相等?"+testbool);
InBlock.gif        Console.WriteLine();
ExpandedSubBlockEnd.gif        
#endregion

InBlock.gif        
ContractedSubBlock.gifExpandedSubBlockStart.gif        
ushort类型#region ushort类型
InBlock.gif        Console.WriteLine(
"ushort类型的最小值是{0},最大值是{1}!",ushort.MinValue,ushort.MaxValue);
InBlock.gif        ushortNu
=65535;
InBlock.gif        shortNu
=(short)ushortNu;
InBlock.gif        testbool
=(ushortNu==shortNu);
InBlock.gif        Console.WriteLine(
"shortNu="+shortNu);
InBlock.gif        Console.WriteLine(
"ushortNu是否能与shortNu相等?"+testbool);
InBlock.gif        Console.WriteLine();
ExpandedSubBlockEnd.gif        
#endregion

InBlock.gif        
ContractedSubBlock.gifExpandedSubBlockStart.gif        
uint类型#region uint类型
InBlock.gif        Console.WriteLine(
"uint类型的最小值是{0},最大值是{1}!",uint.MinValue,uint.MaxValue);
InBlock.gif        intNu
=-1;
InBlock.gif        uintNu
=(uint)intNu;
InBlock.gif        testbool
=(intNu==uintNu);
InBlock.gif        Console.WriteLine(
"uintNu="+uintNu);
InBlock.gif        Console.WriteLine(
"uintNu是否能与intNu相等?"+testbool);
InBlock.gif        Console.WriteLine();
ExpandedSubBlockEnd.gif        
#endregion

InBlock.gif        
ContractedSubBlock.gifExpandedSubBlockStart.gif        
ulong类型#region ulong类型
InBlock.gif        Console.WriteLine(
"ulong类型的最小值是{0},最大值是{1}!",ulong.MinValue,ulong.MaxValue);
InBlock.gif        ulongNu
=ulong.MaxValue;
InBlock.gif        longNu
=(long)ulongNu;
InBlock.gif        Console.WriteLine(
"ulongNu={0}\tlongNu={1}",ulongNu,longNu);
InBlock.gif        Console.WriteLine();
ExpandedSubBlockEnd.gif        
#endregion
    
ExpandedSubBlockEnd.gif    }

ExpandedBlockEnd.gif}


      第二个例子:理解值类型和值类型的转换,还有什么是枚举和结构类型。
using System;

class CValue
{            
            
static void Main(string[] args)
            {
            
//值类型定义及初始化
            System.Int16 aShort = new System.Int16 ();//System.Int16 等同与 short关键字
            byte aByte = new Byte ();
            
decimal aDecimal = 100.5m;
            
char aChar = 'y';
            Console.WriteLine (
"值类型的初始化值:{0} ,{1} ,{2} ,{3}",aShort,aByte,aDecimal,aChar);

            
//值类型的赋值与操作
            float aFloat = 123.123F;
            
bool aBool = ((aFloat > 121&& (aFloat < 125));
            
if (aBool)    {
                
int aInteger;
                aInteger 
= (int) aFloat;//显示转换

                
double aDouble;
                aDouble 
= aFloat;        //隐式转换

                Console.WriteLine (
"类型转换结果:{0} ,{1}",aInteger,aDouble);
            }
            
            
//枚举类型的使用
            long x = (long)Data.Min ;
            
long y = (long)Data.Max ;
            Console.WriteLine (
"枚举类型的值:{0} ,{1}",x,y);

            
//结构的使用
            MyPoint aPoint;
            aPoint.x 
= 10;
            aPoint.y 
= 100;
            Console.WriteLine (
"结构类型的值:{0} ,{1}",aPoint.x ,aPoint.y );
            

        }

        
//枚举类型的定义
        enum Data : long {            
            Min 
= 255L, Mid = 1024L, Max = 32768L
        };

        
//结构的定义
        public struct MyPoint
        {
            
public int x, y;
            
public MyPoint( int x, int y)
            {
                
this.x = x; 
                
this.y = y;
            }
        }
}

Step by step!Create Sunshine!

转载于:https://www.cnblogs.com/CreateSunshine/archive/2007/07/09/810734.html

相关文章:

注解--python库--matplotlib

import matplotlib.pyplot as plt import numpy as npx np.linspace(-3, 3, 50) y 2*x 1plt.figure(num1, figsize(8, 5),) plt.plot(x, y,)ax plt.gca() ax.spines[right].set_color(none)#右边框为空 ax.spines[top].set_color(none)#上边框为空 ax.xaxis.set_ticks_posi…

Parallels Desktop 重装系统

安装教程&#xff0c;大家可以在网上找找 现在我想重装系统&#xff0c;怎么弄呢&#xff1f; 1、~/Documents/Parallels 目录下那个PVM后缀的文件直接删除 2、重装找开虚拟机&#xff0c;会弹出一个框&#xff0c;说找不到系统&#xff0c;点击删除。 3、之后重新安装即可。 转…

用tcpdump查看端口包

例如tcpdump -X -s1600 -i eth1 dst port 20072 -wdump.dat 特别注意-s的使用&#xff0c;不使用该参数&#xff0c;则只会接收默认大小的一个数据包&#xff0c;我机器上是42b 得到的数据包可以通过Ethereal软件查看详细包结构和内容。 很好用&#xff01; 转载于:https://ww…

Caught exception java.lang.interruptedException(在集群上进行多个文件合并压缩时出错)

问题&#xff1a;将mapreduce程序打成JAR包提交给yarn集群,用hadoop命令启动后发现报以下错误&#xff1a; 原因&#xff1a;经检查后发现少了这一行代码&#xff0c;此代码的作用是通过传入的class&#xff0c;找到job的JAR包。 解决方法&#xff1a;添上此行代码&#xff0c;…

是北京晚报!不,是中国最大的讽刺!!!

转载请注明出处:[url]http://technet.blog.51cto.com/[/url],这还是很久以前写的呢,今天无意翻出来了,发上来与大家共享.是北京晚报!不,是中国最大的讽刺!!!  昨天在北大青鸟上完课&#xff0c;坐车回家&#xff0c;因要&#xff12;个小时的车程&#xff0c;怕闲来无聊&…

nomn文件分析

#encodinggbk import os import re import math from os import path 手动输入文件nmon文件路径&#xff0c;要截取的开始时间&#xff0c;结束时间 rootdirE:\\pylianxi\\ceshi #input("请输入文件路径&#xff1a;") start_time"14:46" #截取的…

Vmware Workstation VMX 在资源管理器中杀不掉(虚拟机繁忙导致无法关机)

使用vmware的时候出现 虚拟机繁忙 的情况导致无法关机&#xff0c;然后使用任务管理器结束vmware进程&#xff0c;之后却发现在资源监视器中有一个VMware Workstation VMX进程始终关不掉&#xff0c;获得管理员权限去杀或者重启都没有用。 解决办法&#xff1a;打开win10的应用…

BGA封装芯片手工焊接攻略

转载于&#xff1a;http://blog.sina.com.cn/s/blog_70bb32080100lx1y.html 我毕设的很多板上都有BGA芯片&#xff0c;刚开始我觉得这东西实在是没有办法焊接。幸运的是我们研究所的另外一个研究室花了30多万买了个BGA焊接设备&#xff0c;我去蹭了2次&#xff0c;可惜要看人家…

40个常用的网站制作技巧

1. οncοntextmenu "window.event.returnValuefalse " 将彻底屏蔽鼠标右键 <table border οncοntextmenureturn(false)> <td> no </table> 可用于Table 2. <body onselectstart "return false "> 取消选取…

[Flash开发笔记] 如何在as2.0中使用自定义类事件

as2编程中&#xff0c;我们通常要处理一些异步加载的数据&#xff0c;有点类似ajax中的callback&#xff0c;即我们不知道何时数据才会返回&#xff0c;并且只有当数据返回时&#xff0c;执行我们定义的操作。在flash6及以前&#xff0c;我们会常常碰到从外部加载一张图片或一段…

.NET开发不可不知、不可不用的辅助类(三)(报表导出---终结版)

.NET导出报表一般是采用导出Excel报表的方式输出内容。而这又分为两种方式&#xff1a;使用Excel模板方式和使用网页输出Excel格式两种。首先介绍简单的一种&#xff0c;网页输出Excel内容&#xff0c;这种不需要引用Excel的程序集。/**//// <summary> /// 报表导出辅…

从应用到内核查接口超时(中)

应用复现 接着上文 从应用到内核查接口超时&#xff08;上&#xff09; 继续排查导致接口超时的原因。 转载随意&#xff0c;文章会持续修订&#xff0c;请注明来源地址&#xff1a;https://zhenbianshu.github.io 。 Jdk 的 native 方法当然不是终点&#xff0c;虽然发现 Jdk、…

OpenCV 之 Mat 类

数字图像可看作一个数值矩阵, 其中的每个元素代表一个像素点&#xff0c;如下图所示&#xff1a; OpenCV 中&#xff0c;用 Mat 来表示该数值矩阵&#xff0c;它是很关键的一种数据结构&#xff0c;因为 OpenCV 中的大部分函数都和 Mat 有关&#xff1a; 有的是 Mat 的成员函数…

hbase shell编码显示中文

最近测试hbase shell&#xff0c;碰到个中文显示编码问题&#xff0c;最后通过Python解决了问题&#xff0c;具体操作如下&#xff1a; hbase(main):015:0* scan ‘fr_test_hbase:test_log1’ ROW COLUMNCELL 10001 columninfo:name, timestamp1500448006065, valuetmr\xE4\xB…

AJAX范例大搜罗(转载)

1&#xff0e;每天一个AJAX 该网站提供了很多非常酷的AJAX例子&#xff0c;号称是每天更新一个。 网址&#xff1a;http://www.ajaxcompilation.com/ 2&#xff0e;210个AJAX框架 一个不错的提供Ajax范例的网站&#xff0c;Ajax框架已更新至210个。 网址&#xff1a;http:…

Hbase的过滤器查询

hbase过滤器的比较运算符&#xff1a; LESS < LESS_OR_EQUAL < EQUAL NOT_EQUAL <> GREATER_OR_EQUAL > GREATER > NO_OP 排除所有 hbase过滤器的比较运算符&#xff1a; BinaryComparator 按字节索引顺序比较指定字节数组&#xff0c;采用Bytes.compareTo(…

python的进程

多进程概念&#xff1a;   由于GIL的存在&#xff0c;python中的多线程其实并不是真正的多线程&#xff0c;如果想要充分地使用多核CPU的资源&#xff0c;在python中大部分情况需要使用多进程。python提供了非常好用的多线程包(multiprocessing)&#xff0c;只需要定义一个函…

071204 晴

晚上打算把周末的剩余任务做完去池袋kitty店预习作文把电脑慢的原因查出来电脑传照片的方法一部电影一本书一本杂志单词 转载于:https://www.cnblogs.com/loverain/archive/2007/12/04/982210.html

区块链深度好文

http://www.huhangfei.com/post/4/转载于:https://www.cnblogs.com/vinplezhang/p/7325161.html

工作流引擎设计之退回任务定义

退回&#xff08;Rollback Work Item&#xff09;退回是针对本人&#xff08;工作流参与者&#xff09;的“待办任务”的操作&#xff0c;即参与者主动退回待办任务列表中的任务。为什么要退回&#xff1f;参与者接受任务后&#xff0c;发现不应由自己办理此任务或上一步的执行…

HBase常用API操作

文章目录第一步&#xff1a;创建maven工程&#xff0c;导入jar包第二步&#xff1a;开发javaAPI操作HBase表数据1、创建表myuser2、向表中添加数据3、查询数据3.1、 按照rowkey进行查询获取所有列的所有值3.2、 按照rowkey查询指定列族下面的指定列的值3.3、 通过startRowKey和…

Kanade's trio 2017多校#3 trie

求数组中i<j<k 并且ai^aj<aj^ak的三元组组数 枚举插入ak&#xff0c;让ak中每一位作为最高位&#xff0c;查找字典树内最高位不同的数字数量 注意把ak的每个前缀做一个bad标记 存储让这个前缀作为i可以与字典树内形成i,j对的个数&#xff0c;这些不满足i<j ai : 1…

使用VS2005进行代码覆盖率分析

下面通过一个简单的例子来讲解VS2005是如何做代码分析的&#xff08;此处所做的代码分析是在单元测试之后进行的&#xff0c;其分析代码仍然使用上节的做和代码&#xff09; 1、上节的原始代码和单元测试代码分别如下&#xff1a; //原始代码 using System; using System.Colle…

云计算时代的数据库运行

云计算时代的高可用数据库是可扩展、容错且与任何私有云或公共云兼容的数据库实例。它们旨在提供业务连续性&#xff0c;而不会因任何类型的硬件或网络故障而导致用户体验的影响。其核心设计原则是消除任何单点故障&#xff0c;并提供平稳的故障转移体验。 公共云和私有云使企业…

Java:在Bean中使用PropertyChangeSupport支持PropertyChangeListeners

本文主要介绍如何使用PropertyChangeSupport类来支持关联属性事件的触发。author: ZJ 2007-8-3Blog: [url]http://zhangjunhd.blog.51cto.com/[/url]JavaBean的属性与一般Java程序中所指的属性&#xff0c;或者说与所有面向对象的程序设计语言中对象的属性是一个概念&#xff0…

【做题】SRM701 Div1 Hard - FibonacciStringSum——数学和式&矩阵快速幂

原文链接 https://www.cnblogs.com/cly-none/p/SRM701Div1C.html 题意&#xff1a;定义"Fibonacci string"为没有连续1的01串。现在&#xff0c;给出\(a,b\)&#xff0c;定义一个"Fibonacci string"的权值为\(x^a y^b\)&#xff0c;其中\(x\)为0的个数&…

scala定义抽象类与抽象字段

抽象类 和Java语言一样&#xff0c;scala中也可以定义抽象类 定义&#xff1a; 如果类的某个成员在当前类中的定义是不包含完整的&#xff0c;它就是一个抽象类 不完整定义有两种情况&#xff1a; 1.方法没有方法体&#xff08;抽象方法&#xff09; 2.变量没有初始化&#xf…

kuangbin专题16B(kmp模板)

题目链接: https://vjudge.net/contest/70325#problem/B 题意: 输出模式串在主串中出现的次数 思路: kmp模板 在 kmp 函数中匹配成功计数加一, 再令 j nxt[j] 即可. 感觉有点奇怪的就是我拿 A 题的模板写这题居然会 tle, 而拿这题的模板写 A 题又没有 A 题的模板跑的快...可能…

[转]C#日期格式化 文档

日期转化一 为了达到不同的显示效果有时&#xff0c;我们需要对时间进行转化&#xff0c;默认格式为&#xff1a;2007-01-03 14:33:34 &#xff0c;要转化为其他格式&#xff0c;要用到DateTime.ToString的方法(String, IFormatProvider)&#xff0c;如下所示&#xff1a; usin…

探讨ASP.NET AJAX客户端开发技术

一、 简介 在ASP.NET AJAX组件开发中&#xff0c;存在许多环节有待我们深入挖掘。如何让ASP.NET AJAX服务端控件更有效地利用客户端脚本来为控件添加强大的客户端功能&#xff1f;如何更为方便地访问控件访问的资源&#xff0c;等等。实践证明&#xff0c;要实现最终的应用程序…