C#记录

打印字符串

Console.WriteLine("C# 欢迎世界");

注释快捷键

ctrl+k ctrl+c
取消注释:ctrl+k ctrl+u

Write和WriteLine

  • Write书写完不会换行
  • WriteLine书写完运行会换行

\n换行 \t制表符

打印一颗圣诞树

Console.WriteLine("   * ");
Console.WriteLine("  *** ");
Console.WriteLine(" ***** ");
Console.WriteLine("*******");
Console.WriteLine("   * ");
Console.WriteLine("   * ");
Console.WriteLine("   * ");

变量

计算机中的数据

  • 整数
  • 浮点数
  • 字符
  • 字符串
    数据存在内存和硬盘中

得到用户的输入

String str = Console.ReadLine();
Console.WriteLine(str + "-");

数据类型转换

Convert.ToInt32();

字符串格式化输出

int a = 23, b = 44;
Console.WriteLine("{0}+{1}={2}", a, b, a + b);
Console.WriteLine("两个数字相加{0}+{1}={2}", a, b, a + b);

显式类型转换

强制类型转换,这种转换需要使用(type)value的形式或者预定义函数显式的完成,显式转换需要用户明确的指定要转换的类型,而且在转换的过程中可能会造成数据丢失,例如将 double 类型转换为 int 类型。

  double d = 5673.74;
            int i;
        
            // 将 double 类型转换为 int
            i = (int)d;
            Console.WriteLine("转换前{0},转换后{1}", d, i);
			  double d = 5673.74;
            int i;
        
            // 将 double 类型转换为 int
            i = (int)d;
            Console.WriteLine("转换前{0},转换后{1}", d, i);

方法 描述
ToBoolean 将类型转换为布尔型
ToByte 将类型转换为字节类型
ToChar 将类型转换为单个 Unicode 字符类型
ToDateTime 将类型(整数或字符串类型)转换为日期时间的结构
ToDecimal 将浮点型或整数类型转换为十进制类型
ToDouble 将类型转换为双精度浮点型
ToInt16 将类型转换为 16 位整数类型
ToInt32 将类型转换为 32 位整数类型
ToInt64 将类型转换为 64 位整数类型
ToSbyte 将类型转换为有符号字节类型
ToSingle 将类型转换为小浮点数类型
ToString 将类型转换为字符串类型
ToType 将类型转换为指定类型
ToUInt16 将类型转换为 16 位无符号整数类型
ToUInt32 将类型转换为 32 位无符号整数类型
ToUInt64 将类型转换为 64 位无符号整数类型

运算符

image

定义常量

定义常量
常量需要使用 const 关键字定义:

const data_type constant_name = value;

for each循环

使用 foreach 可以遍历数组或者集合对象中的每一个元素:

foreach(数据类型 变量名 in 数组或集合对象){
    语句块;
}

foreach 会在每次循环的过程中,依次从数组或集合对象中取出一个新的元素放到foreach( )里定义的变量中,直到所有元素都成功取出后退出循环。

goto

C# 中的 goto 语句也称为跳转语句,使用它可以控制程序跳转到指定的位置执行。不过并不建议在程序中多次使用 goto 语句,因为它会使程序变得更加复杂。

goto Labels;
语句块1;
Labels:
    语句块2;

想要使用 goto 语句来跳转程序,必须先在想要跳转的位置定义好一个标签(Labels),标签名称的定义和变量名类似,然后使用goto 标签名;即可使程序跳转到指定位置执行。如上面语法中所示,程序会跳过“语句块1”直接执行“语句块2”。
提示:goto 语句并不限于在循环中使用,其它的情况也可以使用。但是,goto 语句不能从循环外跳转到循环语句中,而且不能跳出类的范围。

    class Demo
    {
        static void Main(string[] args){
            int count = 1;
            login:
                Console.WriteLine("请输入用户名");
                string username = Console.ReadLine();
                Console.WriteLine("请输入密码");
                string userpwd = Console.ReadLine();
            if (username == "c.biancheng.net" && userpwd == "123456"){
                Console.WriteLine("登录成功");
            }else{
                count++;
                if (count > 3){
                    Console.WriteLine("用户名或密码错误次数过多!退出!");
                }else{
                    Console.WriteLine("用户名或密码错误");
                    goto login;//返回login标签处重新输入用户名密码
                }
            }
        }
    }

C#函数和方法

C# 中的函数(也可以称为方法)是一段具有签名(由函数名、参数类型和参数修饰符组成的函数信息)的代码块,可以用来实现特定的功能。一般情况下一个函数由以下几个部分组成:

  • 访问权限修饰符:用于指定函数对一个类的可见性;
  • 返回值类型:用于指定函数返回值的数据类型;
  • 函数名称:用于进行函数调用的唯一名称;
  • 参数列表:在调用函数时需要传递给函数的参数,参数列表是可选的,可以为空;
  • 函数主体:其中包含了实现函数功能的若干代码。
  1. 函数声明
  2. 函数调用
  3. 没有参数和返回值的函数
  4. 有参数但没有返回值的函数
  5. 有参数且有返回值的函数
  6. 类中的静态函数

封装

C# 是一门面向对象编程语言,面向对象编程语言有三大特性,分别是封装、继承和多态。所谓封装就是将一个或多个项目(函数)集合在一个单元中,这个单元称之为类,我们可以根据需要通过访问权限修饰符来设定类中成员的范围和可见性。C# 中的访问权限修饰符有以下几种:

  • public:公共的,所有对象都可以访问,但是需要引用命名空间;
  • private:私有的,类的内部才可以访问;
  • internal:内部的,同一个程序集的对象可以访问,程序集就是命名空间;
  • protected:受保护的,类的内部或类的父类和子类中可以访问;
  • Protected internal:protected 和 internal 的并集,符合任意一条都可以访问。

C#值传递、引用传递、输出传递

C# nullable:可空类型

C#数组

posted @ 2023-03-02 15:28  flyall  阅读(38)  评论(0)    收藏  举报