1. c#的值类型存储在栈里,而引用类型的引用存储在栈里,数据存储在堆里。

  2. c#new关键字为对象分配一个引用而非存储数据。

  3. 引用类型关键字ref:

    For example:

    Int y;

    void mymethod(ref int y);

    Mymethod(ref y);

  1. 输出参数out:用于从方法体内把数据传出到调用代码。语法与ref类似。

  Out和Ref类似:

  • 1).ref必须将引用值初始化才能在方法内用否则报错不能空引用。对out而言可在方法内进行值的初始化。(当out参数的值不会传到out

参数中需要显示传递)。

  • 2) .out适合用在需要retrun多个返回值的地方,而ref则用在需要被调用的方法修改调用者的引用的时候。
  1. 参数数组需要params关键字:

  给参数数组提供形参:

    Void Test(params int []test);

    test(1,2,3);

    int[]a={1,2,3};

    test(a);

  1. 命名参数:

  将函数形参位置调换入参数。    

    Int test(int a,int b,int c){};

    test(a:5,c:6,b:7);

  1. 静态变量static(定义后不能访问类的实例成员,但能被实例成员访问) 常量const:

  静态产量声明后可透过直接通过类名使用,而const声明的变量必须在一开始初始赋值并且不能更改。

  1. 属性:代表类的实例或类总的一个数据项的成员。使用属性看起来非常像写入或读取一个字段,语法是相同的。

  属性特征:

  • 1):它是命名的类成员;
  • 2) :它可以被赋值和读取,然而和字段不同,属性是一个函数成员;
  • 3) :它不为数据存储分配内存,它执行代码。
  • 4) :属性是指定的一个组俩个分配的、称为访问器的方法。

    Set访问器为属性赋值,get访问器从属性获取值。

    set访问器:拥有一个单独的、隐式的值参,名称为value,与属性类型相同,拥有一个返回类型void。

    get访问器:没有参数,拥有一个与属性类型相同的返回类型。

  自动属性实现:

    public int such{

    get;set;}必须+封号

  1. readonly修饰符:

  作用类似const,一旦被设置就不能改变。Const字段只能在字段声明时初始化,而readonly可以先声明随后初始化。

  10.索引器:

类似属性,属性通常表示单独数据成员,索引器通常表示多个数据成员。

  索引器没有名称。在名称得到位置是关键字this。参数列表在中括号内,参数列表必须声明一个参数。

  访问器的访问修饰符有几个限制:

  • 1)、仅当成员既有get也有set访问器时;
  • 2)、虽然俩个访问器都必须出现,但它们只能有一个修饰符;
  • 3)、访问器的访问修饰符必须比成员的访问级别有更严格的限制性。

   public->protected internal->protected->private->internal

    returnType this[Type type1]{

    get{

    }

    set{}

    }

  11.分布类型和分布方法修饰符:partial。(声明东西必须相同)

    partial class Myclass{

    partial void PrintSum(int a,int b);

    public void add(int a,int b){

      Console.Write({0},a+b);}

    }

    Partial class Myclass{

    partial void PrintSum(int x ,int y){

      Console.WriteLine(“Sum is{0}”,x+y);

    }

    class Program{

      Static void Main(){

        var ma=new Myclass();

        mc.add(5,6);

      }}

  12.数组继承的有用成员 继承自System.Array

    Rank 属性 实例 获取数组的维度

    Length 属性 实例 获取数组中所有维度的元素总和

    GetLength 方法 实例 返回数组的指定维度的长度

    Clear 方法 静态 将某一范围内的元素设置为0或null

    Sort 方法 静态 在一维数组中对元素进行排序

    BinarySearch 方法 静态 使用二进制搜索,搜索一维数组中的值

    Clone 方法 实例 进行数组的浅复制——对于值类型数组和引用类型数组,都只复制元素

    IndexOf 方法 静态 返回一维数组遇见第一个值

    Reverse 方法 静态 反转一维数组中的某一范围的实例

    GetUpperBound 方法 实例 获取数组维度上限

C#学习基础的更多相关文章

  1. 现代3D图形编程学习-基础简介(2) (译)

    本书系列 现代3D图形编程学习 基础简介(2) 图形和渲染 接下去的内容对渲染的过程进行粗略介绍.遇到的部分内容不是很明白也没有关系,在接下去的章节中,会被具体阐述. 你在电脑屏幕上看到的任何东西,包 ...

  2. 现代3D图形编程学习-基础简介(1) (译)

    本书系列 现代3D图形编程学习 基础简介 并不像本书的其他章节,这章内容没有相关的源代码或是项目.本章,我们将讨论向量,图形渲染理论,以及OpenGL. 向量 在阅读这本书的时候,你需要熟悉代数和几何 ...

  3. JavaScript学习基础部分

    JavaScript学习基础 一.简介 1.JavaScript 是因特网上最流行的脚本语言,并且可在所有主要的浏览器中运行,比方说 Internet Explorer. Mozilla.Firefo ...

  4. 【IOS学习基础】NSObject.h学习

    一.<NSObject>协议和代理模式 1.在NSObject.h头文件中,我们可以看到 // NSObject类是默认遵守<NSObject>协议的 @interface N ...

  5. git学习基础教程

    分享一个git学习基础教程 http://pan.baidu.com/s/1o6ugkGE 具体在网盘里面的内容..需要的学习可以直接下.

  6. c语言学习基础:[1]开发工具介绍

    标签:c语言 1 2 3 4 分步阅读 学习编程语言的童鞋们一开始接触到的最多的估计就是C语言了,其次才是什么java.c++等,可以说学习c语言是我们走向编程世界的一座桥梁,学好它,对于我们学习和研 ...

  7. 20165318 预备作业二 学习基础和C语言基础调查

    20165318 学习基础和C语言基础调查 技能学习经验 我们这一代人,或多或少的都上过各种兴趣班,舞蹈钢琴画画书法,我也是如此.可这些技能中,唯一能拿的出手的就是舞蹈了.按照<优秀的教学方法- ...

  8. 20165230 学习基础和C语言基础调查

    20165230 学习基础和C语言基础调查 技能学习经验 我擅长弹钢琴.小时候我曾上过很多兴趣班,比如钢琴.跳舞.书法.绘画等等,唯一坚持至今的只有钢琴.仔细一算学习钢琴至今已有12年,不能说已经精通 ...

  9. [ Java学习基础 ] Java构造函数

    构造方法是类中特殊方法,用来初始化类的实例变量,它在创建对象(new运算符)之后自动调用. Java构造方法的特点如下: 构造方法名必须与类名相同. 构造方法没有任何返回值,包括void. 构造方法只 ...

  10. [ Java学习基础 ] Java的继承与多态

    看到自己写的东西(4.22的随笔[ Java学习基础 ] Java构造函数)第一次达到阅读100+的成就还是挺欣慰的,感谢大家的支持!希望以后能继续和大家共同学习,共同努力,一起进步!共勉! ---- ...

随机推荐

  1. Nginx 别名访问

    #添加另一个域名,在浏览器中输入 etiantian.org,总是调到 www.etiantian.org server { listen            80; server_name   w ...

  2. saiku数据实现实时更新

    (1) # vim saiku-server/tomcat/webapps/ROOT/js/saiku/Settings.yaml 将 LOCALSTORAGE_EXPIRATION: 3600000 ...

  3. Linux日常之命令grep

    命令grep简介 利用该命令在文本中查找指定的字符串,是Linux中最常用的文本处理工具之一. 命令grep与正则表达式结合使用时,功能会非常强大. 命令grep会在文本文件中按照指定的正则表达式进行 ...

  4. 牛客练习赛26 D xor序列 (线性基)

    链接:https://ac.nowcoder.com/acm/contest/180/D 来源:牛客网 xor序列 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他 ...

  5. Okhttp拦截器统一异常处理并多次读取response.body().string()

    参考:https://blog.csdn.net/a624806998/article/details/73863606 引言: 写这篇文章,因为在自己编写实现Http日志拦截器的时候,在拦截器中使用 ...

  6. WPF选项卡页面分离之Page调用Window类

    此项目源码下载地址:https://github.com/lizhiqiang0204/WPF_PageCallWindow 如果Page与Window直接没有任何调用就用这种方法https://ww ...

  7. 从输入一个URL到页面渲染的流程简介

    首先说明以下是我参考网上答案和自己的思考,给出自己的想法,如果有问题,欢迎大家吐槽从用户在浏览器中输入一个URL,到整个页面渲染,这个过程中究竟发生了什么呢?今天先简单写下整个过程,后面再一点点完善. ...

  8. mysql笔记——索引

    什么是索引? 数据库中的一个对象. 在数据库中用来加速表的查询. 通过使用快速路径访问方法定位数据,减少了磁盘的i/o. 与表分别独立存放,但不能独立存在,必须属于某个表. 由数据库自动维护,表被删除 ...

  9. 微信小程序-饮食日志_开发记录02

    此段时间主要写功能的实现. 内部的增删改查等内容. 主要有食物查找.运动选择.身高体重比例计算等.

  10. python接口自动化三(登录绕开验证码及发帖)

    前言 有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接). 获取不到也没关系,可以通过添加cookie的方式绕过验证码. 但是这里需要明确 ...