【C#基础知识】之常量、变量、枚举、字符串、转义符、运算符及表达式、try...catch等简单介绍

一、常量与枚举

Const 类型 常量名=常量值
在定义时赋值,在其它地方不允许赋值,即变量不可以被赋值。
1)枚举(enum):让我们定义一种类型,并且在定义这种枚举类型时,我们要指定这个类型的所有值。
a、语法:enum 自己起的类型名称{值1,值2,值3……值n};注意:定义枚举时,值不能是int类型。
b、枚举的定义,一般和类定义在同一个级别(即在命名空间下,也可以定义在方法或类中)。这样,在同一个命名空间下的所有的类都可以使用这个枚举了。
c、枚举的作用:限制用户不能随着赋值,只能在定义枚举时列举的值中选择,不需要死记每个枚举的值,只需选择相应的值。
d、注意:枚举类型的变量都可以强制转换成一个int类型,枚举的值在定义时是有一个默认编号的,编号从0开始,依次递增,当然也可以人为给枚举的值赋非0的值。
例子:

namespace ConsoleApplication1
{
    enum Gender
    { 
        男,
        女
    }
    class Program
    {
        static void Main(string[] args)
        {
            Gender sex;
            sex = Gender.男;
            switch (sex)
            {
                case Gender.男:
                    Console.WriteLine("您是男性");
                    break;
                case Gender.女:
                    Console.WriteLine("您是女性");
                    break;
            }
            Console.ReadKey();
        }
    }
}


e、如果把一个字符串转换成枚举类型:
(自定义枚举量)(Enum.Parse(typeof(自定义枚举量),"待转换的字符串"));
例子:更改上面的例子,由用户自己输入性别,并将“自枚”转换成枚举类型
namespace ConsoleApplication1
{
    enum Gender
    {
        男,
        女
    }
    class Program
    {
        static void Main(string[] args)
        {
            Gender sex;
            Console.WriteLine("请输入您的性别?");
            string str=Console.ReadLine();
            try
            {
                sex = (Gender)(Enum.Parse(typeof(Gender),str));
                Console.WriteLine("您输入的性别为:"+ sex);
            }
            catch
            {
                Console.WriteLine("您的输入有误!");
            }
            Console.ReadKey();
        }
    }
}


二、凡是要得到用户输入的内容,变量必须是String类型,用int类型的话会出错。
Console.WriteLine()在控制台上输出提示信息
Console.ReadLine():用于接收用户的输入,要定义一个字符串变量来接收并存储用户输入的
值。Console.ReadKey():则表示等待用户按任意键后关闭窗体
例子:获取用户输入的内容,并实现与用户的交互性 
            string input;
            Console.WriteLine("请输入您喜欢吃的水果:");
            input = Console.ReadLine();//获取用户输入的内容,并实现与用户的交互性
            Console.WriteLine("这么巧啊,我也喜欢吃{0}!", input);
 
三、转义字符:它是一个字符,形式"\+特定字母"组成.什么时候用?当我们需要在字符串输入
一些特殊字符时,比如:半角引号,换行、退格等。
C#常用的转义字符有:
转义符  字符名
\'      单引号
\"      双引号
\\     反斜杠
\0     空字符
\a     感叹号
\b     退格
\f     换页
\n     新行
\r     回车
\t     水平 tab
\v     垂直tab
特殊情况:在字符串前加"@"符号有两种意义:a、字符串中如果有\,则不再理解为转义符
b、使字条串可以换行。此时,若要在字条串上显示一个双引号,则应连续输出一对双引号代
表一个双引号。
eg1:C#中的字符串要用""引起来
Console.WriteLine("C#中的字符串要用\"\"引起来。");
//运行结果:C#中的字符串要用""引起来。
分析:假如不加转义符"\"的话,第一个双引号与第二个配对而不是与最后一个双引号配对。则要使用双引号必须借助转义符"\"。
eg2:\t制表符的作用
Console.WriteLine("1\t2\t3\t4\t5\t");
Console.WriteLine("1\t22\t333\t4444\t55555\t");

四、算术运算符与算术表达式
1)  C#中有五种算术运算符:+、-、*、/(乘)、%(求模或求余),要求:参与运算的两个操作数
     的类型必须相同。运算后的结果也与操作数类型一致。
2)优先级:先乘除,后加减。有括号先算括号里的,相同级别的从左至右运算。若要改变计
      算的优先级,则可以用小括号改变表达式的优先级。小括号可以无限制地套用,但必须成对出现。
3)发生自动转换(隐式)的条件:
a、参与运算的两个数据数据类型必须相兼容(两边同为数字,不能出现一边是字符串的情况)
b、必须一边的数据类型表示范围小,一边范围大,并且把小的转向大的时不会丢失精度。
4)对于表达式,如果一个操作数为double型,则整个表达式可提升为double型。
例子:(自己边看视频边练习)
eg1:有一个操作数为double型,则整个表达式可提升为double型
            int a = 10, b = 3;
            int mod = a%b;
            double ys = a/b;
            double ys2 = 1.0 * a / b;
            Console.WriteLine("余数mod为:{0}  商ys为:{1}  商ys2为:{2}", mod, ys, ys2);


五、逻辑表达式和关系表达式
1)关系表达式的运算结果为bool类型,只有true和false两个值
2)逻辑运算符有三个:&&(与)、||(或)和!(非)
例子: Console.WriteLine("请输入一个年份:");
            int year = Convert.ToInt32(Console.ReadLine());
            bool result = (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
            Console.WriteLine(result);

六、try...catch...的用法
    try
    {
        把有可能出现错误的代码写在这里
    }
    catch
    {
      出错后的处理   
     }

上面的程序执行规则:
如果try中的代码没有出错,则程序正常运行try中的内容后,不会执行catch后的内容;假如有错,则立即执行catch中的代码。
例子:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int max = 0;
            int number = 0;
            string input = "";
            do
            {
                try
                {
                    Console.WriteLine("请输入一个数:");
                    input = Console.ReadLine();
                    number = Convert.ToInt32(input);
                    if (number > max)
                    {
                        max = number;
                    }
                }
                catch
                {
                    if (input != "end")
                    {
                        Console.WriteLine("输入非法数据,程序结束!");
                        input = "end";
                    }
                }
            } while (input != "end");
            Console.WriteLine("最大值是:{0}", max);
            Console.ReadKey();
        }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值