C#的学习入门_4

今天继续学习C#的相关知识…

C# 的数组(Array)的属性和方法

在这里插入图片描述
在这里插入图片描述

小补充: array类的还有LastIndexOf() 返回某元素的最后一次出现的位置下标

C#的关键字ref 和out

其作用其实就是 引用传递给方法 (直接看实例 便于理解)

using System;
namespace OutputParameterPassing
{
    class Program
    {
        //需要返回两个参数, 一个是数组元素的最大值, 另一个是最大值的索引
        static int MaxNum(int[] arr, out int index)
        {
            int maxNum = arr[0];
            index = 0;
            for (int i = 0; i < arr.Length; i++)
            {
                if (arr[i] > maxNum)
                {
                    maxNum = arr[i];
                    index = i;
                }
            }
            return maxNum;
        }
        static void Main(string[] args)
        {
            int[] arr = { 1, 2, 3, 12, 13, 14, 15, 16, 17, 4, 5, 6, 7, 8, 9, };
            int max;
            Console.WriteLine("数组arr最大的元素值是{0} , 其索引值是{1} ",MaxNum(arr,out max),max);
        }
    }
}

运行结果:

在这里插入图片描述

所有类型和类型成员都具有可访问性级别

在这里插入图片描述
注释: internal的英文含义是“内部的”,而这个“内部的”的确切含义,是指“同一程序集”的内部,而非“同一命名空间”的内部。也就是说,internal修饰的方法或者属性,只要是在同一个程序集中的类都可以访问,如果二者不在同一命名空间,只要使用using引用上相应的命名空间即可。

类的成员

在这里插入图片描述

C#的get和set访问器的理解

C#的get set的理解
取属性时,执行get访问器的代码块;向属性赋予新值时,执行set访问器的代码块。通常将不带set访问器的属性视为只读;将不带get访问器的属性视为只写;将具有以上两个访问器的属性视为读写。get和set的作用很强大 , 最好能理解应用

分部类

  1. 将同一个类编写在多个文件中,类的各个文件名不同,类名相同,类名前加partial关键字,这种类型叫做分部类。在分部类中可以建立分部方法,也需要在方法名前加关键字partial。分部方法只能将方法分成两部分,即声明部分和实现部分。分部方法必须在分部类或分部结构中声明,并且必须私有访问
  2. 分部方法有着严格的限制:
    在这里插入图片描述

分部类的简单实例

using System;
namespace PartialDemo
{
    partial class Pargam
    {
        partial void Write();   //分部方法的声明
        partial void Write()     //分部方法的实现
        {
            Console.WriteLine("这是一个分部方法");
        }
    }
    partial class Pargam
    {
        static void Main()
        {
            //调用分部方法
            Pargam pargam = new Pargam();
            pargam.Write();
        }
    }
}

运行结果:

在这里插入图片描述

C#的构造函数和析构函数

其效果类似于C/C++的 构造函数和析构函数

C#的结构体

在C#中的结构与传统的C或C++中的结构不同。C#中的结构具有以下特点:
  1. 结构可带有方法、字段、索引、属性、运算符方法和事件。
  2. 结构可定义构造函数,但不能定义析构函数。
  3. 与类不同,结构不能继承其他的结构或类。
  4. 结构不能作为其他结构或类的基础结构。
  5. 结构可实现一个或多个接口。
  6. 结构成员不能指定为abstract、virtual或protected。
  7. 当用户使用new操作符创建一个结构对象时,会调用适当的构造函数来创建结构。与类不同,结构可以不使用new操作符即可被实例化。
  8. 如果不使用new操作符,只有在所有的字段都被初始化之后,字段才被赋值,对象才被使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值