黑马程序员——.NET笔记5

本文深入探讨了ASP.NET、Android、iOS开发及.NET培训的相关技术,包括命名常量、枚举类型、结构、数组、方法、返回值、参数作用域、方法重载等内容,提供详细实例解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

---------------------- ASP.Net+Android+IO开发S.Net培训、期待与您交流! ----------------------


命名常量

const double PI = 3.14;

const intSunday = 0;

枚举类型

enum Days { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday };
枚举类型,定义一组可以赋值给变量的命名整数常量。默认每个元素的类型是int,从0开始,如Sunday=0 , Monday=1 ……

使用枚举类型,可以指定变量有效取值的范围,在Visual Studio中代码指示会列出定义的值,方便使用。

namespace 枚举
{
    //建议在类一级定义枚举类型,这样同一命名空间下所有地方都可以使用此类型
    enum Gender
    {
        //默认男=0,女=1,可以指定值代表的int值 男=2 ,后面的值如不指定,则加1,即 女=3 
        男,
        女
    }

    class Program
    {
        static void Main(string[] args)
        {
            //枚举类型的值是命名常量,用[类型名.值名]来表示
            Gender sex = Gender.男;
            Console.WriteLine(sex);
            Console.WriteLine(int(sex));
            /*
             * 此处输出:
             * 男
             * 0
            */


            Console.WriteLine("请输入你的性别(男/女):");
            //用户输入的是字符串类型,如:男
            string s = Console.ReadLine();
            try
            {
                //调用Enum类的Parse()方法将枚举常数的名称或数字值的字符串表示转换成等效的枚举对象。
                //如:字符串“男”转换为枚举Gender类型的 Gender.男(输出时又转回字符串表示)
                sex = (Gender)(Enum.Parse(typeof(Gender), s));
                Console.WriteLine("输入为:"+sex);
            }
            catch 
            {
                Console.WriteLine("输入有误。");
            }
            Console.ReadKey();
        }
    }
}

结构和数组老师讲得都少,方法(函数)的内容我比较熟悉,这部分需要多练习尽快熟练掌握。

结构

public struct Person
{
    public string name;
    public int age;
    public void SayHi()
    {
        //...
    }
}
定义好结构后就可以声明相应的变量并使用了

     Person onePerson;
     onePerson.name = "张三";
     onePerson.age = 18;

声明数组: 

类型[] 数组名 = new 类型 [长度] ;

int [] score = new int [5];
最重要的属性.Length


定义方法:

[访问修饰符] [static] 返回值类型 方法名([参数])

static void Main(string[] args)
{
    int s = BiggerVal(10,30);
    Console.WriteLine(s);
    Console.ReadKey();
}
public static int BiggerVal(int a, int b)
{
    return a > b ? a : b;
}

返回值、参数作用域

方法重载

同名方法,参数类型或个数不同,构成重载,调用同名方法可实现不同功能。如WriteLine()可以把各种类型的数据转为string类型输出。

ref  和 out 

通过return返回值,仅能返回一个值,不会改变传入参数变量的值

    static void Main(string[] args)
    {
        int s = 10;
        int a = Test(s);//s作为参数传入方法,仅传值给b,s值不受b影响
        Console.WriteLine(a);
        Console.WriteLine(s);
        Console.ReadKey();
    }
    public static int Test(int b)
    {
        return b += 111;
    }

如需返回多个值,可用ref 或out 通过引用传递参数,参数的值会被被调用的方法更改并保持

        static void Main(string[] args)
        {
            int s = 10;		//使用 ref 需由调用方对参数进行初始化赋值
            int a = Test(ref s);//s作为参数传入方法,通过引用传递,s值受b影响
            Console.WriteLine(a);
            Console.WriteLine(s);
            Console.ReadKey();
        }
        public static int Test( ref int b)
        {
            //b = 0;//使用out 需由被调用方对参数赋值
            return b += 111;
        }
ref 和 out的区别:使用 ref 需由调用方对参数进行初始化赋值,使用out 需由被调用方对参数赋值。







---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------

详细请查看:http://edu.youkuaiyun.com

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值