重工电子论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
楼主: 李钢-15级
打印 上一主题 下一主题

[C#] 学习c# --笔记

[复制链接]

12

主题

130

帖子

470

积分

版主

Rank: 7Rank: 7Rank: 7

积分
470
11#
 楼主| 发表于 2016-5-16 13:05:14 | 只看该作者
ref参数的应用,能够将一个变量带入一个方法中应用,值也跟着改变(和指针类似),要求在调用方法前赋值,引用时也需要加refi
下面程序 交换两个数的值。

jiaohuan1.rar

19.95 KB, 下载次数: 0

回复 支持 反对

使用道具 举报

12

主题

130

帖子

470

积分

版主

Rank: 7Rank: 7Rank: 7

积分
470
12#
 楼主| 发表于 2016-5-16 14:21:14 | 只看该作者
params 可变参数。
在数组中常被用,而且应用时,要将这个参数放到最后一个。一个参数列表中只能有一个可变参数。
如下:public static void sum(int a,params int[] score);
        调用 sum(a ,1,13,44,55)
回复 支持 反对

使用道具 举报

12

主题

130

帖子

470

积分

版主

Rank: 7Rank: 7Rank: 7

积分
470
13#
 楼主| 发表于 2016-5-16 14:41:48 | 只看该作者
方法重载
要求:函数名相同,但是参数不同
参数不同,个数不同,或者类型不同。重载与返回值无关。
回复 支持 反对

使用道具 举报

12

主题

130

帖子

470

积分

版主

Rank: 7Rank: 7Rank: 7

积分
470
14#
 楼主| 发表于 2016-5-16 15:27:32 | 只看该作者
本帖最后由 李钢-15级 于 2016-5-16 15:29 编辑

方法的递归
也要跳出递归。下面程序是多次调用。输出risk

2~KG`N)HOZ(EB9)UTG4G)0Q.png (6.91 KB, 下载次数: 1192)

2~KG`N)HOZ(EB9)UTG4G)0Q.png

tellstory.rar

19.88 KB, 下载次数: 0

回复 支持 反对

使用道具 举报

12

主题

130

帖子

470

积分

版主

Rank: 7Rank: 7Rank: 7

积分
470
15#
 楼主| 发表于 2016-5-16 16:23:24 | 只看该作者
恩恩
回复

使用道具 举报

12

主题

130

帖子

470

积分

版主

Rank: 7Rank: 7Rank: 7

积分
470
16#
 楼主| 发表于 2016-5-18 00:24:16 | 只看该作者
本帖最后由 李钢-15级 于 2016-5-18 15:32 编辑

面向对象
找出通用代码,屏蔽差异。
找对象
类是具有相同(属性和方法)的对象集合
public class 类名
{
    字段
   属性
   方法
}
写好类后(add-class),创建对象(在主函数内创建,给字段赋值,调用方法)的过程中叫做实例化,利用new。类不占内存,对象的字段占占内存。

G~0)C`%SV[CA8HC99IPS.png (28.82 KB, 下载次数: 1206)

G~0)C`%SV[CA8HC99IPS.png

TF)V$A~4~_4D7N6GN2K]SDB.png (53.35 KB, 下载次数: 1217)

TF)V$A~4~_4D7N6GN2K]SDB.png
回复 支持 反对

使用道具 举报

12

主题

130

帖子

470

积分

版主

Rank: 7Rank: 7Rank: 7

积分
470
17#
 楼主| 发表于 2016-5-18 19:09:10 | 只看该作者
本帖最后由 李钢-15级 于 2016-5-18 20:46 编辑

属性
作用是保护字段(字段必须是私有的,而属性一般是公开的)、对字段的赋值与取值作一个限定。
set
get
所以赋值最好是给属性赋值就好。引用也是一样

C{CA`MBB~3K1HDJG_A@2XB0.png (32.36 KB, 下载次数: 1236)

C{CA`MBB~3K1HDJG_A@2XB0.png

Y54Y(G9EO5DW{699A]{DMJS.png (15.62 KB, 下载次数: 1201)

Y54Y(G9EO5DW{699A]{DMJS.png

lei1.rar

23.32 KB, 下载次数: 0

回复 支持 反对

使用道具 举报

12

主题

130

帖子

470

积分

版主

Rank: 7Rank: 7Rank: 7

积分
470
18#
 楼主| 发表于 2016-5-18 20:50:03 | 只看该作者
本帖最后由 李钢-15级 于 2016-5-19 01:44 编辑

静态与非静态(默认)的差别
1在非静态类中,既可以有实例成员(非静态的),也可以有静态的
2在调用实例成员时。对象名.成员名(属性,方法,字段)
  在调用静态成员时,只能是类名.成员名
3静态方法中不能访问,非静态成员
4非静态方法中都可以使用


5静态类中只能有静态的成员
6静态类不用实例化对象。
7经常使用的方法构成的类,叫做“工具类”,通常用作静态类
8静态类越少越好,程序结束后才释放资源

TMB5GF{K`GCO8R97{0TL]DX.png (18.18 KB, 下载次数: 1208)

TMB5GF{K`GCO8R97{0TL]DX.png
回复 支持 反对

使用道具 举报

12

主题

130

帖子

470

积分

版主

Rank: 7Rank: 7Rank: 7

积分
470
19#
 楼主| 发表于 2016-5-18 22:45:08 | 只看该作者
本帖最后由 李钢-15级 于 2016-5-19 08:45 编辑

构造函数(初始化函数,初始化属性)
1没有返回值,void也不能写
2名称必须类名一样
创建对象的时候,先执行构造函数
构造函数可以有重载(函数名一样,参数不一样)

关键字new
1,在内存中开辟空间
2创建对象
3用构造函数初始化。      下图当中name是读写属性。应该这样赋值 this .Name=name.

GK53QMFCQ$I$Z1P%TGXQMMS.png (23.65 KB, 下载次数: 1204)

GK53QMFCQ$I$Z1P%TGXQMMS.png
回复 支持 反对

使用道具 举报

12

主题

130

帖子

470

积分

版主

Rank: 7Rank: 7Rank: 7

积分
470
20#
 楼主| 发表于 2016-5-18 23:08:22 | 只看该作者
本帖最后由 李钢-15级 于 2016-5-19 01:35 编辑

this
1代表当前类的对象
2在类中调用 构造函数,用法如下图


$]_R)9JPOBP@`A159OOAG4G.png (26.46 KB, 下载次数: 1214)

$]_R)9JPOBP@`A159OOAG4G.png

A3}1`}VZC4%ZBX2WUQ@G]KA.png (14.75 KB, 下载次数: 1190)

A3}1`}VZC4%ZBX2WUQ@G]KA.png
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|cqutlab ( 渝ICP备15004556号

GMT+8, 2024-5-3 19:12 , Processed in 0.170113 second(s), 28 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表