踏上C#开发的征程


编写第一个C#程序

一般步骤:新建项目->编写代码->运行

示例:输出“hello world”

using System;

namespace Demo
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!"); //输出内容需要加双引号
            Console.WriteLine("人因梦想而伟大"); //可以是中文
            Console.ReadLine(); //页面暂定
        }
    }
}

学语法之前必备基础知识

1.命名空间

概念:C#程序中的一种代码组织形式,主要用来标识类的可见范围

语法: namespace 命名空间名称 //后者一般自动生成
引用:using 命名空间名;//分号不可少

2.类

概念:一种数据结构,存储数据成员,方法成员和其他类等内容,便于调用

语法

class 类名
{
 	   //代码
}

3.C#中常见关键字
在这里插入图片描述
4.标识符:类名,变量名,方法名,数组名…

首字母必须是字母下划线,其余部分可以是数字字母下划线,标识符不可以与关键字冲突

5.Main方法的要求

  • Mian方法必须定义为static
  • Main的首字母必须大写
  • 返回值可以是voidint
  • 命令行参数可选

语法
在这里插入图片描述
6.注释

  • 注释
    // 注释内容
  • 注释
    /* 注释内容 */

7.代码编写规则
在这里插入图片描述

8.数据类型

在这里插入图片描述
注: 值类型即直接存储值

整数类型:
在这里插入图片描述
注:uunsigned的缩写

浮点类型:
在这里插入图片描述
注:需要在数值后面加 f, d 或 F, D。如果没有加默认为double类型
如果没有初始化,默认为== 0==,而不是 0.0

decimal类型

定义:表示128位数据类型,是一种精度更高的浮点类型,其精度可以达到28位,取值范围为 ±1.0X10-28 ~ ±7.9X1028

如果希望一个小数被当作decimal类型使用,需要使用 后缀 m 或 M
注:由于decimal类型的 高精度 特性,它更适于财务和货币计算
bool类型:

布尔类型主要用来表示true/false值,C#中定义布尔类型时,需要使用bool关键字

注:bool类型的默认值时false
字符类型

在C#语言中,使用char/Char类定义字符,并且字符需用单引号括起来

转义字符:

转义字符是一种特殊的字符变量,其以反斜线 " \ " 开头,后跟一个或多个字符。转义字符具有特定的含义,不同于字符原有的意义,故称”转义“。

在这里插入图片描述
如果需要多次输出 \,可以在输出语句前加@,避免多次使用 \\

例如:

Console.WriteLine(@"Win\Micro\Frame\v4.30\2025");//两个语句等价
Console.WriteLine("Win\\Micro\\Frame\\v4.30\\2025");

变量的初始化

赋值运算符=:将右边的数赋值给左边的变量

常量的分类

定义:不能被改变的量

  • 编译时常量:const

const double pai = 3.14;//必须初始化

  • 运行时常量:readonly
    在定义时可以初始化也可以不初始化
不同于C语言的知识点

C# 封装

封装被定为义为 “把一个或多个项目封闭在一个物理的或者逻辑的包中”。在面向对象程序设计方法论中,封装是为了防止对实现细节的访问。

抽象和封装是面向对象程序设计的相关特性。抽象允许相关信息可视化,封装使程序员实现所需级别的抽象。

封装使用访问修饰符来实现。一个访问修饰符定义了一个类成员的范围和可见性。C# 支持的访问修饰符如下所示:

  • Public
  • Private
  • Protected
  • Internal
  • Protected internal

Public 访问修饰符

Public 访问修饰符允许一个类将其成员变和成员函数暴露给其他的函数和对象。任何公有成员可以被外部的类访问。

下面的例子说明了这点:

using System;
namespace RectangleApplication
{
   class Rectangle
   {
      //成员变量
      public double length;
      public double width;

      public double GetArea()
      {
         return length * width;
      }
      public void Display()
      {
         Console.WriteLine("长度: {0}", length);
         Console.WriteLine("宽度: {0}", width);
         Console.WriteLine("面积: {0}", GetArea());
      }
   }//end class Rectangle

   class ExecuteRectangle
   {
      static void Main(string[] args)
      {
         Rectangle r = new Rectangle();
         r.length = 4.5;
         r.width = 3.5;
         r.Display();
         Console.ReadLine();
      }
   }
}

编译执行上述代码,得到如下结果:

长度: 4.5
宽度: 3.5
面积: 15.75

在上面的例子中,成员变量 lengthwidth 被声明为 public,所以它们可以被函数 Main() 使用 Rectangle 类的实例 r 访问。

成员函数 Display()GetArea() 也可以不通过类的实例直接直接访问这些变量。

成员函数 Display() 也被声明为 public,所以从它也能被 Main() 使用 Rectangle 类的实例 r 访问。

Private 访问修饰符

Private 访问修饰符允许一个类将其成员变量和成员函数对其他的函数和对象进行隐藏只有同一个类中的函数可以访问它的私有成员。 即使是类的实例也不能访问它的私有成员。

下面的例子说明了这点:

using System;
namespace RectangleApplication 
{
   class Rectangle
   {
      //成员变量
      private double length;
      private double width;

      public void Acceptdetails()
      {
         Console.WriteLine("请输入长度: ");
         length = Convert.ToDouble(Console.ReadLine());
         Console.WriteLine("请输入宽度: ");
         width = Convert.ToDouble(Console.ReadLine());
      }
      public double GetArea()
      {
         return length * width;
      }
      public void Display()
      {
         Console.WriteLine("长度: {0}", length);
         Console.WriteLine("宽度: {0}", width);
         Console.WriteLine("面积: {0}", GetArea());
      }
   }//end class Rectangle

   class ExecuteRectangle
   {
      static void Main(string[] args)
      {
         Rectangle r = new Rectangle();
         r.Acceptdetails();
         r.Display();
         Console.ReadLine();
      }
   }
}

编译执行上述代码,得到如下结果:

请输入长度:
4.4
请输入宽度:
3.3
长度: 4.4
宽度: 3.3
面积: 14.52

在上面的例子中,成员变量 lengthwidth 被声明为 private,所以它们不能被函数 Main() 访问。成员函数 AcceptDetails() 和 Display() 可以访问这些变量。由于成员函数 AcceptDetails() 和 Display() 被声明为 public,所以它们可以被 Main() 函数使用 Rectangle 类的实例 r 访问。

Protected 访问修饰符

Protected 访问修饰符允许子类访问它的基类的成员变量和成员函数。这种方式有助于实现继承

Internal 访问修饰符

Internal 访问修饰符允许一个类将其成员变量和成员函数暴露给当前程序中的其他函数和对象。换句话说,带有 Internal 访问修饰符的任何成员可以被定义在该成员所定义的应用程序内的任何类或方法访问。

下面的例子说明了这点:

using System;
namespace RectangleApplication
{
   class Rectangle
   {
      //成员变量
      internal double length;
      internal double width;

      double GetArea()
      {
         return length * width;
      }
      public void Display()
      {
         Console.WriteLine("长度: {0}", length);
         Console.WriteLine("宽度: {0}", width);
         Console.WriteLine("面积: {0}", GetArea());
      }
   }//end class Rectangle

   class ExecuteRectangle
   {
      static void Main(string[] args)
      {
         Rectangle r = new Rectangle();
         r.length = 4.5;
         r.width = 3.5;
         r.Display();
         Console.ReadLine();
      }
   }
}

编译执行上述代码,得到如下结果:

长度: 4.5
宽度: 3.5
面积: 15.75

在上面的例子中,请注意成员函数 GetArea() 声明的时候不带有任何访问修饰符。如果没有指定访问修饰符,则使用类成员的默认访问修饰符,即为 private

Protected internal 访问修饰符

Protected internal 访问修饰符允许一个类将其成员变量和成员函数对同一应用程内的子类以外的其他的类对象和函数进行隐藏。这也被用于实现继承。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值