美文网首页
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

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