【黑马程序员】C#基础中一些知识点总结备忘

来源:互联网 发布:软件系统试运行计划 编辑:程序博客网 时间:2024/04/28 17:34

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


枚举

enum 枚举名字

    值1,
    值2,
    。。。。
    值n



字符串转化枚举

string x=(枚举名字)(Enum.Parse(typeof(枚举名字),需要转化的字符串))

枚举转化字符串

直接  ""+枚举  即可


常量

const 类型 常量名 =  ;

好处:可以在此处一次修改,则全程序都发生改变,不用在各个地方修改了


结构体

public/private....   struct  结构体名字
{
    (下述皆为结构体成员)
    public/private....  类型  变量1;
    public/private....  类型  变量2;
    
    。。。。。
    
    public/private....  类型  变量n;
}


代码举例:
enum Gender
{
    男,
    女
}

public struct Person

    public string name;
    public Gender sex;
    public int age;


Person firstPerson;
firstPerson.name="张三";
firstPerson.sex=Gender.男;
firstPerson.age=20;

Person secondPerson;
secondPerson.name="李四";
secondPerson.sex=Gender.男;
secondPerson.age=18;

.......

通过参数返回值

static void Main
{
    int number;
    int r=Test(out number);
}
static int Test(out int a)
{
    a=20;
    retun a;
}

举一反三:

static void Main
{
    int a1=1;
    int a2=2;
    int a3;
    string a4;
    int r=Test(a1,a2,out b1,out b2);
}
static int Test(int x,int y,int z,string m)
{
    z=x*y*10;
    m=""+z*100
    retun a;
}

解读:可以将若干已知的参数传入方法,再返回若干个结果。参数本身的类型不限制,返回结果的类型也没有要求;

同样的还有ref
out仅用于从方法传出值
ref则是双向的,即可传入,也可传出。原因在于ref定义的变量会把内存地址传给新定义的变量,因此,双方共用一个数值。
比如,

static void Main
{
    int a=10;
    int x= Test(out a)
}
static int Test(out int p)
{
    int b=10*p;
    retun b;
}
报错!因为a在Test里面没有赋初值;
换为ref:

static void Main
{
    int a=10;
    int x=Test(ref a)
}
static int Test(ref int p)
{
    int b=10*p;
    retun b;
}
x的值为100,因为p获得了Main中a的内存地址,等于共用了a的内存空间,也就有了初值10.

但无论如何,原始的a值都会发生变化,因为方法的值都会传出,唯一的区别就是,ref不需要赋初值而out必须要有初值


---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net

0 0