美文网首页
c#Lesson07

c#Lesson07

作者: Class_Lee | 来源:发表于2018-01-09 17:04 被阅读0次

using System;

class Person

{

// 一个字段不加访问控制 默认是 private

// private 修饰的字段只能在本类中使用

private string _name;

private int _age;

private float _height;

private float _price;

private float _weight;

private bool _girl;

private string _address;

private int _IDnumber;

public int IDNumber {

set {

_IDnumber = value;

}

get {

return _IDnumber;

}

}

public string Address {

set {

_address = value;

}

get {

return _address;

}

}

public bool Girl {

set {

_girl = value;

}

get {

return _girl;

}

}

public float Weight {

set {

_weight = value;

}

get {

return _weight;

}

}

public float Price {

set;

get;

}

// 属性

public string Name {

set {

_name = value;

}

get {

return _name;

}

}

// 一个字段想让外界访问要提供 方法

// 存

// public void SetName (string name)

// {

// // this 后面的就是字段

// this.name = name;

// _name = name;

// // 取

// public string GetName ()

// {

// return _name;

// }

// }

public int Age {

set {

_age = value;

}

get {

return _age;

}

}

public float Height {

set {

_height = value;

}

get {

return _height;

}

}

public void Func1 ()

{

int num = 100;

float f = 2.3f;

}

}

class FuncClass

{

// 在参数前面加 ref 表示参数接收地址

public void Func1 (ref int n)

{

n = 100;

Console.WriteLine (n);

}

public void Func2 (ref float a, ref float b)

{

float temp = 0f;

temp = a;

a = b;

b = temp;

}

// out

// 在方法名前面加返回值类型,并用 return 返回。

// 只能返回一个值

// 也可以使用参数加 out 返回 1 ~ n 个值

// ref 和 out 的异同

// 相同点: 两个都是在传地址

// 不同点:

// 1. out 限定返回值个数,有几个out就必须有几个返回值,ref 不需要

// 2. 使用 out 可以不初始化接收变量

public void Func3 (out int on1, out int on2)

{

int n1 = 10;

int n2 = 20;

on1 = n1;

on2 = n2;

}

public void Func4 (params int[] arr)

{

for (int i = 0; i < arr.Length; i++) {

Console.WriteLine (arr [i]);

}

}

}

class Test

{

public int n;

}

class MainClass

{

public static void Main (string[] args)

{

// Person p = new Person ();

// p.SetName ("Lee");

// Console.WriteLine (p.GetName ());

// p.Name = "Class、Lee";

// Console.WriteLine (p.Name);

// p.Age = 18;

// p.Height = 1.75f;

// Console.WriteLine (p.Age);

// Console.WriteLine (p.Height);

// p.Price = 2.5f;

// Console.WriteLine (p.Price);

// p.Weight = 55.25f;

// Console.WriteLine (p.Weight);

// p.Girl = false;

// Console.WriteLine (p.Girl);

// p.Address = "广东梅州";

// Console.WriteLine (p.Address);

// p.IDNumber = 4414211;

// Console.WriteLine (p.IDNumber);

// 定义的变量一定会存在栈里面

// 每一个方法都是一个栈

// 也就是变量都是在方法里面定义

// int n = 10;

// float f = 1.2f;

// Person p = new Person ();

// Person p1 = new Person ();

// 值类型 : 基本数据类型都是值类型

// 引用类型: 凡是 new 出来的都是引用类型(结构体除外)

// int num = 10;

// Person p = new Person ();

//

// int num1 = 10;

// int num2 = num1;

// num1 = 20;

//

// Test t = new Test ();

// t.n = 10;

// Test t2 = t;

// t.n = 20;

// Console.WriteLine ("t1.n:" + t.n);

// Console.WriteLine ("t2.n:" + t2.n);

//

FuncClass f = new FuncClass ();

// int num = 0;

// f.Func1 (ref num);

// Console.WriteLine ("num:" + num);

float num1 = 10f;

float num2 = 20f;

f.Func2 (ref num1, ref num2);

Console.WriteLine (num1);

Console.WriteLine (num2);

// 用来接收返回值的

int num3;

int num4;

f.Func3 (out num3, out num4);

Console.WriteLine (num3);

Console.WriteLine (num4);

// int[] a = { 1, 2, 3, 4, 9, 5, 7 };

f.Func4 (1, 2, 3, 4, 9, 6, 7);

}

}

相关文章

  • c#Lesson07

    using System; class Person { // 一个字段不加访问控制 默认是 private //...

网友评论

      本文标题:c#Lesson07

      本文链接:https://www.haomeiwen.com/subject/hlrgnxtx.html