C#的初级知识小结2

                                                C#的初级知识小结2

      今天是阴天,天气还算好,今天的课上的也还算好,好多的内容,挺杂的。现在来做个总结吧。

      今天的开始讲了控制台成员,比较重要的几个也就是经常用的那些。其中,Console.ReadLine()返回的是ASCII值。Beep是返回一个蜂鸣声,我们还用这个做了个弹钢琴的小程序。这些控制台成员非常的多,所以只靠死记硬背是不行的,要多多的用它,用熟了自然就会了。

       C#的数据类型有三种:内置数据类型,自定义数据类型 和 匿名类型。内置的有很多种,像int、char等;自定义的就是类或接口类型了(class interface);最后,匿名类是由一组封装在无名称引用类型中的公共属性组成。

       常量和变量,这个就不用多说了吧,有一点,Readonly 定以的常量是可以在构造函数里再次的赋值的。

       C#所约定的有多种命名规则,这也就是长久以来形成的一种行为规范吧,虽然不是绝对的,但如果很好的遵循了C#所约定的命名规则了会使你的代码可读性大大的提高,别人也就会乐于阅读你的程序代码了。C#的命名规则大体上可以分为三种:匈牙利命名法,驼峰命名法 和 帕斯卡命名法。 这里只说一种最长用的吧,帕斯卡命名法:它要求在命名的时候将首字母大写,例如:

   public void DisplayInfo();
  
   string UserName;

遵循命名规范 会让你养成良好的编程习惯,是值得大家注意的。

       下面就是今天的重点了,数据类型,和数据类型的转换。
  
       C#包含多种数据类型,但值类型,引用类型是比较重要的。值类型封装的数据被分配在线程堆栈中,表示实际数据,内存中存放的是值;而引用类型的数据存放在托管堆中,表示指向数据的引用,内存中存放的是对象的地址。简单类型、枚举类型、结构类型都是值类型;string、类、接口、委托、数组都是引用类型。

   数据类型的应用很多,不是说说就行的,最总要的还是要会用。

        隐式类型var,它的本地变量是强类型变量,由编译器确定类型。如:var i=10;则系统默认i的类型为整形。

       匿名类型var myCar = {Color="Black",Make="China",Name="Puma",Price=5000000);它没有具体的类型可以用,所有的匿名类型都继承自System.Object。
   
       dynamic类型是一种静态类型,在编译时,将假定类型化为 dynamic 的元素支持任何操作。

       再一个比较重要的就是装箱与拆箱了,装箱是把值类型转化为Object类型或到此值类型所实现的任何接口类型的隐式转换;拆箱是把Object类型转化为值类型或从接口类型到实现该接口的值类型的显式转换。附一张图来解释一下:

                                  如:  int i=123;

                                            object o=1;  则其可用下图来解释

                                             

                                  又如: int i=123;

                                               objece o=i;

                                               int j=(int)o;    可用下图来解释:

 

 

                                             


       
   最后,我们做了一个小系统,银行的系统,可以实现存取转账等功能的,附代码如下:
    

  
  
  
  
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Text;  
  5.  
  6. namespace day02._03lianxi  
  7. {  
  8.  
  9.     class Program  
  10.     {  
  11.         static double money = 2000.00;  
  12.         static void Main(string[] args)  
  13.         {  
  14.             Console.ForegroundColor = ConsoleColor.White;  
  15.             Console.Title = "光大银行";  
  16.             Console.WriteLine("欢迎使用光大银行办理业务:");  
  17.  
  18.             //定义用到的字段  
  19.             string temun = "";  
  20.             string tempw = "";  
  21.  
  22.  
  23.             //提示输入账号  
  24.             Console.WriteLine("请输入账号:");  
  25.             temun = Console.ReadLine();  
  26.  
  27.  
  28.             //提示输入密码  
  29.             Console.WriteLine("请输入密码:");  
  30.             for (int i = 0; i < 2; i++)  
  31.             {  
  32.                 ConsoleKeyInfo cki = Console.ReadKey(true);  
  33.                 tempw += cki.KeyChar;  
  34.                 Console.Write("*");  
  35.  
  36.             }  
  37.             Console.WriteLine();  
  38.  
  39.  
  40.             //判断账号密码跟所设定的是否匹配  
  41.             if (temun == "aa" && tempw == "dd")  
  42.             {  
  43.                 Menu();  
  44.             }  
  45.             else 
  46.             {  
  47.                 Console.ForegroundColor = ConsoleColor.Red;  
  48.                 Console.WriteLine("账号或密码错误,请重新输入!");  
  49.                 Console.ForegroundColor = ConsoleColor.White;  
  50.             }  
  51.  
  52.         }  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.         //选择菜单  
  59.         static void Menu()  
  60.         {  
  61.             //循环,使操作可以不间断  
  62.             while (true)  
  63.             {  
  64.                 //double money = 2000.00;  
  65.                 //清屏,清除屏幕上所保留的账号跟密码,比较安全  
  66.                 Console.Clear();  
  67.                 Console.WriteLine("登陆成功!");  
  68.  
  69.  
  70.                 //编辑的菜单  
  71.                 Console.WriteLine("请输入业务编号以选择所要办理的业务:");  
  72.                 Console.WriteLine("1、查询余额  2、存款  3、转账  4、取款  5、退出");  
  73.  
  74.  
  75.                 //switch循环,使反复选择菜单操作  
  76.                 switch (Console.ReadLine())  
  77.                 {  
  78.                     case "1":  
  79.                         Query();  
  80.                         break;  
  81.                     case "2":  
  82.  
  83.                         InMoney();  
  84.  
  85.                         break;  
  86.                     case "3":  
  87.                         OtherMoney();  
  88.                         break;  
  89.                     case "4":  
  90.                         OutMoney();  
  91.                         break;  
  92.                     case "5":  
  93.  
  94.                         return;  
  95.  
  96.  
  97.                     default:  
  98.                         Console.ForegroundColor = ConsoleColor.Red;  
  99.                         Console.WriteLine("非法操作!");  
  100.                         Console.WriteLine("继续请按任意键!");  
  101.                         Console.ForegroundColor = ConsoleColor.White;  
  102.                         Console.ReadLine();  
  103.                         break;  
  104.                 }  
  105.             }  
  106.         }  
  107.  
  108.  
  109.         //查询余额  
  110.         static void Query()  
  111.         {  
  112.             Console.WriteLine("你账户上的余额为:{0}Reb", money);  
  113.             Console.ForegroundColor = ConsoleColor.Green;  
  114.             Console.WriteLine("继续请按任意键!");  
  115.             Console.ForegroundColor = ConsoleColor.White;  
  116.             Console.ReadLine();  
  117.  
  118.         }  
  119.  
  120.         //存款  自定义方法  
  121.         static void InMoney()  
  122.         {  
  123.             double moneyin = 0;  
  124.             Console.Write("请输入您要存入的金额:");  
  125.             moneyin = double.Parse(Console.ReadLine());  
  126.             money += moneyin;  
  127.             Console.WriteLine("您本次存入了:{0}元钱    您的账户余额为:{1}元钱", moneyin, money);  
  128.             Console.ForegroundColor = ConsoleColor.Green;  
  129.             Console.WriteLine("继续请按任意键!");  
  130.             Console.ForegroundColor = ConsoleColor.White;  
  131.             Console.ReadLine();  
  132.  
  133.         }  
  134.  
  135.  
  136.         //转账  自定义方法  
  137.         static void OtherMoney()  
  138.         {  
  139.             string ottemun = "";  
  140.             Console.WriteLine("请输入您要转出的账号:");  
  141.             ottemun = Console.ReadLine().ToString();  
  142.             double otmoney = 0;  
  143.             Console.WriteLine("请输入您要转出的金额:");  
  144.             otmoney = double.Parse(Console.ReadLine());  
  145.  
  146.             if (otmoney <= money)  
  147.             {  
  148.                 money -= otmoney;  
  149.                 Console.WriteLine("您本次转走了:{0}元钱    您的账户余额为:{1}元钱", otmoney, money);  
  150.                 Console.ForegroundColor = ConsoleColor.Green;  
  151.                 Console.WriteLine("继续请按任意键!");  
  152.                 Console.ForegroundColor = ConsoleColor.White;  
  153.                 Console.ReadLine();  
  154.             }  
  155.             else 
  156.             {  
  157.  
  158.                 Console.ForegroundColor = ConsoleColor.Red;  
  159.                 Console.WriteLine("对不起,您账户上的余额不足以您转账,操作无法进行!");  
  160.                 Console.WriteLine("继续请按任意键!");  
  161.                 Console.ForegroundColor = ConsoleColor.White;  
  162.                 Console.ReadLine();  
  163.             }  
  164.  
  165.         }  
  166.  
  167.  
  168.         //取款  自定义方法  
  169.  
  170.         static void OutMoney()  
  171.         {  
  172.             double moneyout = 0;  
  173.             Console.Write("请输入您要取出的金额:");  
  174.             moneyout = double.Parse(Console.ReadLine());  
  175.             if (moneyout <= money)  
  176.             {  
  177.                 money -= moneyout;  
  178.                 Console.WriteLine("您本次取出了:{0}元钱    您的账户余额为:{1}元钱", moneyout, money);  
  179.                 Console.ForegroundColor = ConsoleColor.Green;  
  180.                 Console.WriteLine("继续请按任意键!");  
  181.                 Console.ForegroundColor = ConsoleColor.White;  
  182.                 Console.ReadLine();  
  183.             }  
  184.             else 
  185.             {  
  186.                 Console.ForegroundColor = ConsoleColor.Red;  
  187.                 Console.WriteLine("对不起,您账户上的余额不足,操作无法进行!");  
  188.                 Console.WriteLine("继续请按任意键!");  
  189.                 Console.ForegroundColor = ConsoleColor.White;  
  190.                 Console.ReadLine();  
  191.             }  
  192.         }  
  193.     }  
  194. }  

      以上就是今天的内容了,总结的多有不尽如人意的地方,以后我还要更努力的学习,向我的目标前进。
   

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(C#,引用类型,装箱,值类型,银行系统)