---------------------- 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