C#自学(1)

本文介绍C#编程的基础知识,包括程序入口、类的定义、访问修饰符、方法定义等内容,并详细解释了get和set访问器的使用方法及lambda表达式的便利性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写在前面:本系列文章将以C++为基础,记录学习过程中与其不同的部分

1、程序入口
以 static void Main(string[] args)为入口,一个类一个文件

    using System;
    namespace ConsoleApp1
    {
        class Program
        {
            static void Main(string[] args)
            {
                //DEMO; 
            }
        }
    }

在这里插入图片描述

2、类的定义

创建一个类文件(*.cs)之后,编译器会自动生成一个模板如图

当然也可以这样(不推荐)
在这里插入图片描述

3、访问修饰符/修饰符
类中成员的访问修饰符有 4 个

  1. public
    成员可以被任何代码访问
  2. private
    成员仅能被同一个类中的代码访问,如果在类成员前未使用任何访问修饰 符,则默认为private
  3. internal
    成员仅能被同一个项目中的代码访问
  4. protected
    成员只能由类或派生类中的代码访问

修饰字段时通常用两个修饰符,即readonly (只读)和static (静态的)。
使用 readonly 修饰字段意味着只能读取该字段的值而不能给字段赋值。
使用 static 修饰的字段是静态字段,可以直接通过类名访问该字段。

一般采用:

访问修饰符    修饰符    数据类型    字段名;

4、方法定义

访问修饰符    修饰符    返回值类型    方法名(参数列表)
{
    语句块;
}

修饰符包括:(暂且不讨论其具体作用)
virtual(虚拟的)、abstract(抽象的)、override(重写的)、static(静态的)、sealed(密封的)

5、get,set访问器
属性经常与字段连用,get和set访问器,分别用于获取或设置字段的值。

 public    数据类型    属性名
{
    get
    {
        获取属性的语句块;
        return 值;
    }
    set
    {
        设置属性得到语句块;
    }
}

不说直接上代码

这是由编译器自动封装产生的代码,目前我的理解是实现了对象的封装的一种途径,把内部的private的属性封装为外部可以访问的方法。

6、调用类成员

创建对象和调用成员和C++大同小异(几乎相同)

Class class=new Class();
class.Id=1;//属性
class.output();//方法

7、方法的参数
形参和实参在调用和传递上和C++相同
但是其中多了两种 引用参数ref输出参数out
在调用带有引用参数的方法时,实际参数必须是一个变量,并且在传值时必须加上 ref 关键字
在使用输出参数时,必须在方法操作结束前为带输出参数的形式参数赋值

在定义参数的前面加关键词即可

    public void Judge(ref int num, out bool result)
    {
        if (num % 5 == 0)
        {
            result = true;
        }
        else
        {
            result = false;
        }

主函数:

Class.Judge(20, out rs);

8、lambda表达式
这是一种为了方便编程的表达式

访问修饰符    修饰符    返回值类型    方法名(参数列表) => 表达式;

class LambdaClass
{
    public static int Add(int a, int b) => a + b;
}

9、嵌套类
在类中定义类

    class OuterClass
    {
        public class InnerClass
        {
            public string CardId { get; set; }
            public string Password { get; set; }
        }
    }

外部类.嵌套类的方式调用

10、partial部分类
就是字面上的意思,就是一个类的一部分,部分类主要用于当一个类中的内容较多时将相似类中的内容拆分到不同的类中,并且部分类的名称必须相同
一个类可以由多个部分类构成,定义部分类的语法形式 如下。

访问修饰符   修饰符   partial class   类名{……}

11、Console类,控制台输入输出
Console 类中常用方法
Write 向控制台输出内容后不换行
WriteLine 向控制台输出内容后换行
Read 从控制台上读取一个字符
ReadLine 从控制台上读取一行字符

 Console.Write(格式化字符串, 输出项, 输出项2);

其中,在格式化字符串中使用{索引号}的形式,索引号从 0 开始。输出项 1 填充 {0} 位置的内容,依此类推。

Console.WriteLine("请输入学生姓名:");
string name = Console.ReadLine();
Console.WriteLine("请输入所在学校:");
string school = Console.ReadLine();
Console.WriteLine("{0}同学在{1}学习", name, school);

12、Random类,DateTime类等等…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值