C#基础知识(三)

1、语句:
(1)if条件语句中的条件与的时候第一个false后面的不执行,或的时候第一个true后面的不执行。
(2)switch语句后面不能放常量。
(3)循环语句有while、do...while、for、foreach。其中foreach循环集合或数组,foreach(var i in arrint)中的i为arrint中的元素不是下标。
 用for语句打印日期:class Program
    {
        static void Main(string[] args)
        {
            for (DateTime dt = DateTime.Parse("2008-1-1"); dt < DateTime.Parse("2008-3-1");dt = dt.AddDays(1))
            {
                Console.WriteLine(dt);
            }
        }
    }
(4)跳转语句:break跳出全部循环,Continue跳出本次循环,goto语句直接跳转到标志语句,return结束当前方法下面的语句不再执行,throw抛出异常。
(5)异常处理语句:try...catch   try...catch...finally   try...finally不管什么时候finally都会执行,即使try或catch语句中有return语句。
 (6) Checked和Unchecked语句:Cheched关键字用于对整型算术运算和转换显式启用溢出检查。unchecked 关键字用于取消整型算术运算和转换的溢出检查。
2、运算符:
 一元运算符:接受一个操作数的运算符。例:++或new
 二元运算符:接受两个操作数的运算符。例:+、-、*、/
 三元运算符:接受三个操作数的运算符。例:“?:”是C#中唯一的三元操作符。
3、位运算:& 与、|   或、^  异或、~  取补、<< 左移、>> 右移
  口诀:与遇0为0 或遇1为1 异或全为0 求补全反转  移位最麻烦除头尾补0
4、表达式:是可以计算且结果为单个值、对象、方法或命名空间的代码片段。
5、string是引用类型为什么使用起来和值类型一样?string和stringBuilder的区别?
 答:一个String代表一个不可变的顺序字符集。定义一个String就是不可变的,要是发生改变,就会生成一个新的字符串。
    区别:(1)String对象串联操作总是用现有字符串和新数据创建新的对象,而stringBuilder对象维护一个缓冲区,以便容纳新数据的串联,如果有足够空间,新数据将被追加到缓冲区的 末尾;否则,将分配一个新的更大的缓冲区,原始缓冲区中的数据被复制到新的缓冲区,然后将新数据追加到新的缓冲区。
          (2)String与StringBuilder对性的串联操作的性能取决于内存分配的发生频率。String串联操作每次都分配内存,而StringBuilder串联操作仅当 StringBuilder 对象缓冲区太小而无法容纳新数据时才分配内存。因此,如果串联固定数量的 String 对象,则 String 类更适合串联操作。这种情况下,编译器甚至会将各个串联操作组合到一个操作中。如果串联任意数量的字符串,则 StringBuilder 对象更适合串联操作;例如,某个循环对用户输入的任意数量的字符串进行串联。
6、程序:自动售货机
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Threading;
using System.Diagnostics;

namespace Sale
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("***********欢迎使用自动售货机!***********");
            Console.WriteLine("1、可乐  价格:3元   2、果粒橙  价格:3元 " + "\r\n" + "3、面包  价格:2元   4、火腿肠  价格:1元  " + "\r\n" + "5、退出");
            Console.WriteLine("请输入要选物品的代码:");
            Sell();
        }
        static void Sell()
        {
             switch (Console.ReadLine())
            {
                case "1":
                    Console.WriteLine("请放入人民币:");
                    Goods1(0);
                    break;
                case "2":
                    Console.Write("请放入人民币:");
                    Goods2(0);
                    break;
                case "3":
                    Console.Write("请放入人民币:");
                    Goods3(0);
                    break;
                case "4":
                    Console.Write("请放入人民币:");
                    Goods4(0);
                    break;
                case "5":
                    Goods5();
                    return;

            }
        }
        static void Goods1(double money)
        {
           
            double money1 = double.Parse(Console.ReadLine())+money;
            if (money1 < 3)
            {
                Sorry(); 
                Goods1(money1);
            }
            else if(money1>3)
            {
                double money11=money1-3;
                string content = "CreateObject(\"SAPI.SpVoice\").Speak\"" + "操作成功!找您"+money11+"元,请拿好!" + "\"";
                File.WriteAllText(Environment.CurrentDirectory + @"/a.vbs", content, Encoding.Default);
                Process.Start(Environment.CurrentDirectory + @"/a.vbs");
                Console.WriteLine("操作成功!找您{0}元,请拿好!",money11);
                Console.WriteLine("如需继续购买,请输入要选物品代码,不需购买请退出:");
                Sell();
            }
            else
            {
                Handle();
            }    
        }
        static void Goods2(double money)
        {
            double money2 = double.Parse(Console.ReadLine())+money;
            if (money2 < 3)
            {
                Sorry();
                Goods2(money);
            }
            else if (money2 > 3)
            {
                double money21 = money2 - 3;
                string content = "CreateObject(\"SAPI.SpVoice\").Speak\"" + "操作成功!找您" + money21 + "元,请拿好!" + "\"";
                File.WriteAllText(Environment.CurrentDirectory + @"/a.vbs", content, Encoding.Default);
                Process.Start(Environment.CurrentDirectory + @"/a.vbs");
                Console.WriteLine("操作成功!找您{0}元,请拿好!", money21);
                Console.WriteLine("如需继续购买,请输入要选物品代码,不需购买请退出:");
                Sell();
            }
            else
            {
                Handle();
            }
        }
        static void Goods3(double money)
        {
            double money3 = double.Parse(Console.ReadLine())+money;
            if (money3 < 2)
            {
                Sorry();
                Goods3(money);
            }
            else if (money3 > 2)
            {
                double money31 = money3 - 2;
                string content = "CreateObject(\"SAPI.SpVoice\").Speak\"" + "操作成功!找您" + money31 + "元,请拿好!" + "\"";
                File.WriteAllText(Environment.CurrentDirectory + @"/a.vbs", content, Encoding.Default);
                Process.Start(Environment.CurrentDirectory + @"/a.vbs");
                Console.WriteLine("操作成功!找您{0}元,请拿好!", money31);
                Console.WriteLine("如需继续购买,请输入要选物品代码,不需购买请退出:");
                Sell();
            }
            else
            {
                Handle();
            }
        }
        static void Goods4(double money)
        {
            double money4 = double.Parse(Console.ReadLine())+money;
            if (money4 < 1)
            {
                Sorry();
                Goods4(money);
            }
            else if (money4 > 1)
            {
                double money41 = money4 - 1;
                string content = "CreateObject(\"SAPI.SpVoice\").Speak\"" + "操作成功!找您" + money41 + "元,请拿好!" + "\"";
                File.WriteAllText(Environment.CurrentDirectory + @"/a.vbs", content, Encoding.Default);
                Process.Start(Environment.CurrentDirectory + @"/a.vbs");
                Console.WriteLine("操作成功!找您{0}元,请拿好!", money41);
                Console.WriteLine("如需继续购买,请输入要选物品代码,不需购买请退出:");
                Sell();
            }
            else
            {
                Handle();
            }
        }
        static void Goods5()
        {
            Voice("谢谢,欢迎下次光临!");
            Console.WriteLine("谢谢,欢迎下次光临!");
        }
        static void Sorry()
        {
            Console.WriteLine("对不起,您的金额不够,请继续放入人民币:");
            Voice("对不起,您的金额不够,请继续放入人民币:");
        }
        static void Handle()
        {
            Voice("操作成功!请拿回您的物品。");
            Console.WriteLine("操作成功!请拿回您的物品。");
            Console.WriteLine("如需继续购买,请输入要选物品代码,不需购买请退出:");
            Sell();
        }
        static void Voice(string i)
        {
            string content = "CreateObject(\"SAPI.SpVoice\").Speak\"" + i + "\"";
            File.WriteAllText(Environment.CurrentDirectory + @"/a.vbs", content, Encoding.Default);
            Process.Start(Environment.CurrentDirectory + @"/a.vbs");
        }
       
    }
}

你可能感兴趣的:(String,运算符,表达式,休闲,c#语句)