当前位置: 首页 > wzjs >正文

苏州公司网站建设唐山快速建站的公司

苏州公司网站建设,唐山快速建站的公司,重庆触摸屏_电子商务网站建设,九亭 网站建设学习内容:方法的形参各种形式,形参就是方法括号里的如public void Funt(int x)里的x;一、传值参数本质就是创建一个副本来操作副本1.1值类型给方法传值的参数如下面例子里的x;在方法内部对传进来的参数进行…


学习内容:

方法的形参各种形式,形参就是方法括号里的如public void Funt(int x)里的x;

一、传值参数

本质就是创建一个副本来操作副本

1.1值类型

给方法传值的参数如下面例子里的x;在方法内部对传进来的参数进行操作不会影响,操作完之后y依旧是40,因为在方法里操作的是传进来变量的副本

public void TestFunt(int x)
{
x+=1;
}int y=4;
TestFunt(y);

1.2引用类型(不推荐使用这种情况)

引用类型因为引用类型里存的不是直接的值而是地址所以传入方法之后方法里的地址指向的还是同一个对象,所以这时候修改会改变传入的对象里的值;下面的例子在执行方法test2之后stu1的name是11;因为输入的是副本所以是两个地址;但是地址里的值都是同一个实例在堆上的地址所以操作会改变实例stu1的name属性;

class Student
{
public string name{get;set;}
}public void TestFunt(Student stu){
stu.name=“11”;
}public void test2()
{
Student stu1 = new Student();
stu1.name="22";
TestFunt(stu1);}

二、引用参数(ref)

引用参数和上面的传值参数的区别就是不创建副本;

因为不创建副本所以在方法里修改会直接改变方法外的值,如下面例子里的x,在方法test后变成3;声明方法时和使用方法时都要加上ref关键字

public void Funt()
{
int x=2;
test(ref x);
}public void test(ref int y)
{
y+=1;
}

三、输出参数(out)

和引用参数一样都是不创建副本;

如下面例子里的x,在方法test后变成3;声明方法时和使用方法时都要加上out关键字;

public void Funt()
{
int x=2;
test(out x);
}public void test(out int y)
{
y=3;
}

四、out和ref的区别

4.1使用场景不同

ref一般用于修改某个值的时候会用;out则是要输出某个值的时候;

因为ref是修改是在值上修改所以在方法外要明确值不然修改什么;在方法结束的时候也可以不修改赋值;out是输出原本的值无所谓,所以在方法外可以不用明确值但是结束的时候一定要赋值;

public void RefFunt(ref int x)
{//可以不对x操作
}public void OutFunt(out int y)
{int y=4;//明确修改
}public void Test()
{
int iTest = 4;//明确值
RefFunt(ref iTest);int iTest1;//可以不用明确值
OutFunt(out iTest1);}

五、数组参数(params)

有一个方法要一个int数组参数
public void Funt(int[] x)
{}public void test()
{int[] yy = new int[3] { 1,2,3};
Funt(yy);
}

可以使用params

public void Funt(params int[] x)
{}public void test()
{
//可以使用旧形式int[] yy = new int[3] { 1,2,3};
Funt(yy);//还可以用新方法
Funt(1,2,3);
}

形参列表不止一个的时候,数组参数必须要在形参列表的最后一个并且只能有一个,下面的4就是形参c,后面多出来的1,2,3系统默认属于数组int[]x。

public void Funt(string te,int c,params int[] x)
{}public void test()
{
Funt(“yy”,4,1,2,3);
}

六、具名参数

具名参数其实不是一种形参参数而是一种使用方法;可以不用在意参数具体位置,

public void Funt(string te,int c)
{}public void test()
{
Funt(c:5,te:“yy”);//可以吧形参te和c的位置反过来因为前面有参数的名字
}

七、方法重载(this)

方法重载是对类添加一个方法适用与类的代码不在自己手里但是要添加一个方法的情况;

exp:比如有一个Student类要添加一个方法

  1. 先创建一个静态类(约定俗成Extensions结尾)
  public class Student{public string strName;
}public static class TestExtensions{public static void testexFunt(this Student stu, int a){Console.WriteLine(stu.strName);Console.WriteLine(a.ToString());}}

2.创建一个静态方法第一个形参要添加this,this后面加要添加这个方法的类如例子里是Studen这个类;注意this形参只能是第一个并且不能用ref或者out;其他的就和正常方法的形参一样,

学习时间:

25.07.17


http://www.dtcms.com/wzjs/552368.html

相关文章:

  • 游戏运营备案官方网站工作总结个人范文
  • 网站keywords标签怎么写博客网站搭建
  • 俄文手机网站制作wordpress 数据库插件
  • 设计网站账号广州工商注册流程
  • 做网站备案必须是个人还是公司网站建设行业研究
  • 留言网站建设杭州九鸿科技网站开发
  • 网站建设目的及意义素材网站开发
  • 做充气气模产品一般去哪些网站自己做的网站背景怎么设置
  • 外贸推广用中文网站做支付行业招代理一般上什么网站
  • 如何建立一个网站分享教程软件开发项目验收报告
  • 哈尔滨网站建设方案微信号 网站模板
  • 招生门户网站建设方案建设企业银行电脑版怎么下载
  • 网站站点风格如何开个公司网站
  • 大连模板网站制作推荐工业设计公司属于什么行业
  • 石家庄营销推广网站wordpress 图片 空间
  • 一个备案号多个网站义乌建设局网站打不开
  • 超市网站模板盐城网站开发代理商
  • 谷歌网站地图seo有哪些优化工具
  • 哈尔滨建设网站公司吗小米wordpress
  • 网站开发前后端工具组合常用网站推广方法
  • 国外做网站建设银行网上银行网站可以开通网银
  • 网站建设全程揭秘pdfwordpress 模板分页
  • 网站建设实训致谢怎么建立一个简易的网站
  • flash网站源码寿光网络推广公司
  • 百度快速收录网站网站标题乱码
  • 如何用源码建站wordpress基础版
  • wordpress 汉化 自适应赣州seo公司
  • c语言做的网站有什么优缺点东莞常平天气预报15天查询
  • 网站简繁转换代码wordpress文章视频
  • 北京营销网站建设设计wordpress封采集站ip