C#学习日记03—数据类型

c#数据类型

    C#语言是一种强类型的语言,在程序中用到的变量、表达式、数值等都必须要有类型。对于程序中每一个用于保存信息的量,使用时我们都必须声明他的数据类型,以便编译器为他分配内存空间。C#的数据类型可以分为两大部分:值类型和引用类型(常用的2个  String 和 Object)。

     由于C#强类型的特点,因此在C#中一种数据类型也就是一个类。比如 整型 int他的真名为System.Int32();

481.png

        由上表我们看的出,基本类型直接映射到基类库中的类型,因此两者之间可以互换,也就是说我们定义一个int型的变量,

                                 int x = 12;    (发现与C/C++定义数据类型类似)

  可以写成这样:  System.Int32 x = new System.Int32(12);

    不同的类型定义的范围也有所不同:

482.png

 float数据类型用于较小的浮点数,因为它要求的精度较低。

    double数据类型比float数据类型大,提供的精度也大一倍(15位)。在C#编译器一般默认小数类型为double类型,

 如果想指定该值为float,可以在其后加上字符F(或f),如:

         float f = 12.3F;

   

decimal类型专门用于进行财务计算,高精度(28位)。

    要把数字指定为decimal类型,可以在数字的后面加上字符M或(m),如:

    decimal d=12.30M;

C#变量名命名规则:

   

1)、由字母、数字或下划线”_”组成

         2)、必须由“字母”或下划线”_”开头,不能以数字开头

         3)、不能是c#中的关键字 如:int、string、bool、Main、class等 

         4)、区分大小写  如:小写的a  和  大写的A 是两个变量

  下面就写个例子吧,要求由用户输入 姓名  年龄  身高  工资 性别然后输出“我的名字是:XX,性别是:XX,今年XX岁,身高是:XX,工资是:XX”

using System;  using System.Collections.Generic;  using System.Linq;  using System.Text;    namespace Example  {      class Program      {          static void Main(string[] args)          {              String name;  //定义姓名为name              char sex;   //定义性别               uint age;   //年龄(年龄不能为负数)              double hight;  //身高              decimal salary;//工资                  Console.WriteLine("你叫什么名字啊?");                 name = Console.ReadLine();   //输入姓名                 Console.WriteLine("你的性别是:");              sex = Console.ReadKey().KeyChar;  //写入性别              Console.WriteLine();   //换行                Console.WriteLine("你多大了?");              age =uint.Parse(Console.ReadLine());  //写入年龄(uint.Parse()是将读入的String类型转为uint类型,            ReadLine()                                                    //的返回值是String 类型)                Console.WriteLine("多高啊?");              hight = double.Parse(Console.ReadLine());  //写入身高                Console.WriteLine("工资多少呀?");              salary = decimal.Parse(Console.ReadLine());  //写入工资                Console.WriteLine("我叫{0},是个{1}孩子,今年{2}岁了,我的身高是{3}米,工资有{4}元",name,sex,age,hight,salary);       //输出信息              }      }  }

得到的结果是:

483.png

 唉! 又是这种黑面框,黑咕隆咚的丑死,以后学了Winform应该会好点吧 !

 基于02日记中的输入与输出,通过查阅又get了一项新的输出技能,在上面的最后一行代码中有 {0},{1},{2}。。。可以有很多个,这一对“{}”叫占位符,,,(以下是我个人理解)就是我们在程序输出的时候挖 的一个又一个坑,然后再用第一个参数(“”中的内容是一个String类型的参数,参数与参数之间用逗号“,”隔开)后面的参数按顺序去填好  (有点俗阿)。   

   本着学无止境的探索精神,我又对他进行了一番探索;    当我们用占位符 的时候一定要按照{0},{1},{2}……这个顺序来吗?我试着改一下还是以上的代码,,后面的顺序改为这样  {0},{3},{1},{2},{10}。编译没有抱错但是运行输出的时候打印不出来,可能就是那个10的问题,原来不能跳着挖坑的,那就这样   {0},{3},{1},{2},{4},这次没跳了,交换了顺序,编译没错能运行,但是结果是这样:

484.png

完全丧失常理 了 结果乱了。仔细观察后发现其实那个0,1,2,3,4是 给后面参数编的序号,{}里面是谁的序号就调用谁。

   本着每日三省吾身的好学精神我又有疑惑了,在02日记中我输出aaa与bbb的时候我用了双引号 “” 表示字符串,但是如果我想输出双引号该咋办呢?想了好久,去网上查了下才知道 可以用加符号就可以输出啦,于是我写了个不要脸的程序:

using System;  using System.Collections.Generic;  using System.Linq;  using System.Text;    namespace Example  {      class Program      {          static void Main(string[] args)          {                         Console.WriteLine("女神对我说:"I Love You!!!"");            }      }  }

结果是:

486.png

(哈哈,,没羞没臊的)总之 双引号是成功输出来了

     本着做一个勇于探索的人,我又发现:输出双引号的时候我用    来不让他转义 ,那要是我想输出 该咋办呢?

可能是在 前面再加个 试了下没错 能够 输出 所以要输出就得 写  以此类推  感觉挺麻烦的,于是又找了个一劳永逸

的方法  “@”  ,,,Console.WriteLine(@””);

结果输出        不变

以上就是C#学习日记03—数据类型的内容,更多相关内容请关注PHP中文网(www.php.cn)!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1431977.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月17日 06:00:21
下一篇 2025年12月17日 06:00:34

相关推荐

  • C#学习日记04—数据类型 之 整数类型

            上一篇中我们初步的了解了一些数据类型,不全面,本着认真求实的精神,我再对数据类型梳理 一下。 值类型之整数类型:   记得以前上C语言 课 的时候老师也曾让我们看过这样的表格要求记下来,当时也没好好看认为记这个没什么用,可当我运行下面的代码的时候就知道老师的良苦用心了: using …

    2025年12月17日
    000
  • C#学习日记05—数据类型 之 布尔类型

    值类型之布尔类型:    布尔类型是用来表示 ‘真’ 和 ‘假’ 这两个概念的,虽然看起来很简单,但实际用法十分广泛.我们知道,计算机是用二进制来表示各种数据的,在它 的内部只有0或者1.布尔类型表示的逻辑变量只有2中,True 或 False.   …

    好文分享 2025年12月17日
    000
  • C#学习日记06—数据类型 之 浮点数类型

    数值类型之浮点数类型:   在我们的日常生活中不仅有整数 ,还存在小数,在C#中小数有2种数据类型来表示  (单精度)float 、(双精度)double。 他们的差别在于取值范围与精度不同,计算机对浮点数的运算速度大大低于对整数的运算速度,对double型的运算速度低于对float的运算速度,如果…

    2025年12月17日
    000
  • C#学习日记07—数据类型 之 decimal类型

    值类型之 十进制类型:    C#专门为我们定义了一种十进制类型(decimal)(以前的C/C++是没有次类型的),主要用于金融或贷币方面的计算。十进制类型是一种高精度、128位数据类型,能保留28或29位有效数字,(double 只有15或16位,上一篇中已经试验过了),虽然它取值的范围要比do…

    好文分享 2025年12月17日
    000
  • C#学习日记08—数据类型 之 字符类型

    数值类型 之 字符类型:      计算机处理的信息中除了数字以外,主要就是字符了,字符包括数字字符、英文字符、表达式符号、等等;C#提供的字符类型按照国际上的公认标准,采用Unicode字符集,一个标准的Unicode字符长度为16位,用它可以表示世界上的很多语言。C# 中给字符变量赋值与C/C+…

    2025年12月17日
    000
  • C#学习日记09—数据类型 之 结构(Struct)类型

    数值类型 之 结构类型(struct类型):      经过对前面简单类型的学习,我们在进行一些常用的数据运算、文字处理,似乎已经够了,但是当我们碰到一些复杂的数据类型时,比如,班级管理系统中要录入每个学生的姓名、年龄、电话号码、地址。如果按照我们前面所学的简单数据类型来处理,每录入一个学生的信息就…

    2025年12月17日
    000
  • C#学习日记10—-番外篇 C语言进制转换

          在 c#学习日记08—字符类型   中我遗留 了一个问题:如何用c写一个进制转换程序。  现在我将这个后遗症给铲除掉: #include int main() { printf(“请输入一个十进制数:”); int a; scanf(“%d”,&a); printf(…

    2025年12月17日
    000
  • C#学习日记11—数据类型 之 枚举(enum)类型

       前面我所介绍的全都是值类型 ,写这么多了,我总结以下什么叫值类型 。简单的说,该类型的变量直接存储所包含的值。这里我们与c语言中的字符串相对比一下,char ch[6] = “hc666”; 老师说过这里其实是用ch来引用“hc666”的地址,通过访问地址来访问数据。s…

    2025年12月17日
    000
  • C#学习日记12—数据类型 之 引用类型(前言)

     前面我们学习完了c#中简单的数据类型—-值类型,后面学习c#中另一个数据类型—-引用类型, “引用” 这个词在这里的意思是,该类型的变量不直接存储所包含的值,而是指向他所要存储的值,也就是说 引用类型储存的是变量的地址 。c#中的引用类型有4种:  …

    好文分享 2025年12月17日
    000
  • C#学习日记13—类(Class)的声明与定义

     类作为面向对象的灵魂,在c#中有着相当广泛和深入的应用,对类的深度掌握自然是我们学习c#重要的一个环节.有关类的意义上一篇  c#学习日记12—引用类型 中已经给出了,这里就不再重复了.说到 类 就不得不说下与之息息相关的内容—-对象. 类与对象:            类…

    2025年12月17日
    000
  • C#中遍历各类数据集合的方法总结

    c#中遍历各类数据集合的方法,这里自己做下总结: 1.枚举类型  //遍历枚举类型Sample的各个枚举名称 foreach (string sp in Enum.GetNames(typeof(Sample))) { ary.Add(sp); } //遍历枚举类型Sample的各个枚举值 fore…

    好文分享 2025年12月17日
    000
  • C#数据绑定控件中的DataSource属性浅谈

    有的时候,你在编程进入一定阶段,进一步提升很困难的境况之下,不妨回过头来看看基础的东西,或许你会有新的受益,或许能够真正的体会到孔夫子所谓的“温故而知新”的真正内涵。常用的c#数据绑定控件有:repeater、datalist、gridview、detailsview等,在这里我拿repeater来…

    好文分享 2025年12月17日
    000
  • C++设计模式浅识策略模式

    策略模式定义:  定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户。  策略模式包含如下角色: context:环境类 strategy:抽象策略类 concretestrategy: 具体策略类 uml类图:  测试用例 [code]int mai…

    2025年12月17日
    000
  • C++设计模式浅识单例模式

    什么是单例模式?  保证一个类只有一个实例,并提供一个访问它的全局访问点。【dp】  让类的自身负责保存它的唯一实例,这个类保证没有其他实例可以被创建,并且此类可以提供一个访问该实例的方法。【dp】  什么时候需要单例模式?  程序只需要一个方法控制某项功能,不允许创建第二个此功能。比如:银行使用的…

    好文分享 2025年12月17日
    000
  • C#中OpenFileDialog和PictrueBox的用法分析

    本文实例讲述了c#中openfiledialog和pictruebox的用法。分享给大家供大家参考。具体用法分析如下: 先来看看这段代码: string resultFile = “”;OpenFileDialog openFileDialog1 = new OpenFileDialog();ope…

    好文分享 2025年12月17日
    000
  • C#中的switch case使用介绍

    在c#中  switch(type) { case tpye1: break; case tpye2: break; case tpye3: break; case tpye4: break; }; 其中type可以是数字,也可以是字符串;  以上就是C#中的switch case使用介绍的内容,更…

    2025年12月17日
    000
  • C# 判断两张图片是否一致的快速方法

    c# 判断两张图片是否一致的快速方法 #region 判断图片是否一致 /// /// 判断图片是否一致 /// /// 图片一 /// 图片二 /// 是否一致 public bool IsSameImg(Bitmap img, Bitmap bmp) { //大小一致 if (img.Width…

    好文分享 2025年12月17日
    000
  • C# web api返回类型设置为json的两种方法

    web api写api接口时默认返回的是把你的对象序列化后以xml形式返回,那么怎样才能让其返回为json呢,下面就介绍两种方法: 方法一:(改配置法)  找到global.asax文件,在application_start()方法中添加一句:  GlobalConfiguration.Config…

    好文分享 2025年12月17日
    000
  • c#生成缩略图不失真的方法实例分享

    c#生成缩略图不失真的方法实例分享 /// /// 获得缩微图/// /// public bool GetThumbImg(){try{string imgpath; //原始路径 if(imgsourceurl.IndexOf(“\”,0)<0) //使用的是相对路径 {imgpath =…

    好文分享 2025年12月17日
    000
  • c#将Excel数据导入到数据库的实现代码

    c#将excel数据导入到数据库的实现代码 假如Excel中的数据如下: 数据库建表如下: 其中Id为自增字段: 代码: using System;using System.Collections.Generic;using System.Linq;using System.Web;using Sy…

    2025年12月17日 好文分享
    000

发表回复

登录后才能评论
关注微信