基于C#的GIS开发20210422之C#知识点总结、数组、数据类型、字符串总结、函数重载、字段与属性的区分、构造函数的应用、属性设置、普通类与抽象类、面向对象关系梳理

本文详细介绍了C#中的数组定义,包括一维、二维和锯齿数组的初始化和访问方法。此外,探讨了C#的数据类型,如数值类型(整型、浮点型、小数型)、引用类型(类、对象、字符串、接口等)和指针类型。还讨论了函数重载,包括方法和构造函数的重载。最后,对字符串操作进行了总结,如替换、删除、提取和比较。

在20210419的基础上进行改进,和学习。

①C#小知识点总结

一、C#中的数组定义

0)数组声明

①C#声明数组时,方括号[]必须跟在类型后面,而不是标识符后面。
②C#声明数组时支持分配内存的方括号内是整型变量或变量表达式,只要事先确定了变量的值即可

int[] mySigArray = new int[n];    

n的值必须事先确定,声明之后即使改变n的值数组大小也不会变

例子:

//           int[] ii;
//声明数组,此处仅仅声明
 //创建数组,数组赋值方式有两种
//方法一
            //ii = new int[4];
            //ii[1] = 1;
            //ii[2] = 2;
            //ii[4] = 4;//其实是越界了,所以是错的
//方法二
            int[]ii={
   
   1,2,3,4};//创建同时,进行赋值操作

1)一维数组:

不定长:

int[] ii= new int[]{
   
   1,2,3,4,5,6};

定长:

int[] ii= new int[3]{
   
   1,2,3};

区别在于是否在[]中填入数字

2)二维数组

不定长:

int[,] ii= new int[,]{
   
   {
   
   1,2,3},{
   
   1,2,3}}; 

定长:

int[,] ii= new int[2,2]{
   
   {
   
   1,2},{
   
   1,2}};

多维以此类推

区分:
声明锯齿数组(数组的数组)

int[][] mySawArray = new int[3][];      //注意与二维数组不同,这里有两个方括号

在这里插入图片描述

3)数组初始化

int[] a = {
   
   1,2,3,4};                  //一维数组初始化
int[,] aa= {
   
   {
   
   1,2,3},{
   
   4,5,6},{
   
   7,8,9}};     //二维数组初始化
int[][] aaa= {
   
   new int[] {
   
   1,2},new int[] {
   
   3,4,5,6,7,8},new int[] {
   
   9,10,11}};   //锯齿数组初始化

4)数组的访问

① 访问上述初始化数组的单个的元素

int i = a[2];        //i=3
int j = aa[2,1];     //j=8
int k = aaa[2][1];     //k=10  注意二维数组与锯齿数组的区别

②遍历访问数组元素
1)C#提供了foreach语句,该语句提供了一种简单、明了的方法来循环访问数组

foreach(int m in myArray)      //将所有数组元素的值加1,myArray可以是一维、多维或锯齿数组
{
   
   
    m++;
}   
C# 中 foreach 遍历的用法

1)foreach循环用于列举出集合中所有的元素,foreach语句中的表达式由关键字in隔开的两个项组成。in右边的项是集合名,in左边的项是变量名,用来存放该集合中的每个元素。

https://blog.csdn.net/beauty_1991/article/details/45197931

2)用for循环遍历数组,使用这种方式可以更好的控制数组元素(知道每次循环中的数组对象是哪个),下面这段代码用foreach语句是无法实现的

//for遍历规则数组
nt[,,] a = new int[2, 2, 2] {
   
    {
   
   {
   
    1, 2 }, {
   
    3,4}},{
   
   {
   
    5, 6 }, {
   
    7,8}} };//定义一个2行2列2纵深的3维数组a

            for (int i = 0; i < a.GetLength (0) ;i++ )   //用Array.GetLength(n)得到数组[0,1,,,n]上的维数的元素数,0代表行,1列,n代表此数组是n+1维

            {
   
   
                for (int j = 0; j < a.GetLength(1); j++)

                {
   
   
                    for (int z = 0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值