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

别人在百度冒用公司旗号做网站下载百度app到手机上

别人在百度冒用公司旗号做网站,下载百度app到手机上,跨境电商网站建设,想做一个能上传视频的网站怎么做>本章内容: 方法的结构 方法体内部的代码执行 局部变量 局部常量 控制流 方法调用 返回值 返回语句和void方法 局部函数 参数 值参数 引用参数 引用类型作为值参数和引用参数 输出参数 参数数组 参数类型总结 方法重载 命名参数 可选参数 栈帧 递归 ref局部变量和ref返回 …

>本章内容:

方法的结构
方法体内部的代码执行
局部变量
局部常量
控制流
方法调用
返回值
返回语句和void方法
局部函数
参数
值参数
引用参数
引用类型作为值参数和引用参数
输出参数
参数数组
参数类型总结
方法重载
命名参数
可选参数
栈帧
递归

ref局部变量和ref返回

在本章前面你己经看到了,你可以使用ref关键字传递一个对象引用给方法调用,这样在调
用上下文中,对对象的任何改动在方法返回后依然可见。ref返回功能则相反,它允许你将一个
引用发送到方法外,然后在调用上下文内使用这个引用。一个相关的功能是ref局部变量,它允
许一个变量是另一个变量的别名。

我们将从ref局部变量这个功能开始讲解。下面是关于ref局部变量功能的重要事项。

  • 你可以使用这个功能创建一个变量的别名,即使引用的对象是直类型。
  • 对任意一个变量的赋值都会反映到另一个变量上,因为它们引用的是相同的对象,即使
    是值类型。
    创建别名的语法需要使用关键字ref两次,一次是在别名声明的类型的前面,另一次是在赋
    值运算符的右边,“被别名”的变量的前面,如下所示:

image
下面的代码是一个示例,其中使用ref局部变量功能创建了变量x的一个别名,叫作Y。当×
改变时,y也会变,反之亦然。

class Program
{static void Main(){int x=2;ref int y=ref x;Console.WriteLine($"x={x},y={y}");x=5;Console.WriteLine($"x={x},y={y}");y=6;Console.WriteLine($"x={x},y={y}");}
}

但是,别名功能不是ref局部变量功能最常见的用途。实际上,它经常和ref返回功能一起使
用。ref返回功能提供了一种使方法返回变量引用而不是变量值的方法。这里需要的额外语法也
使用了ref关键字两次:

  • 一次是在方法的返回类型声明之前
  • 另一次是在return关键字之后,被返回对象的变量名之前
    下面的代码演示了一个例子。注意,在方法调用之后,因为调用了修改ref局部变量的代码,
    所以类的字段值改变了。
class Simple
{private int Score=5;//ref 返回方法的关键字public ref int RefToValue(){return ref Score;}//ref返回的关键字public void Display(){Console.WriteLine($"Value inside class object:{Score}");}
}class Program
{static void Main(){Simple s=new Simple();s.Display();//ref局部变量的关键字ref int v1Outside=ref s.RefToValue();}v1Outside=10;    //在调用域外修改值s.Display();     //检查值是否已经改变
}

另一个可能有用的例子是Math库中Max方法的变形。提供两个数字类型的变量,Math.Max
能够返回两个值中较大的那个。但是,假设你想返回的是包含较大值的变量的引用,而不是实际
的值。为此,你可以使用ref返回功能,如以下代码所示。

using static System.Console;class Program
{static ref int Max(ref int p1,ref int p2){if(p1>p2){return ref p1;//返回引用,而不是值}elsereturn ref p2;//返回引用,而不是值}static void Main(){int v1=10;int v2=20;WriteLine("Start");WriteLine($"v1:{v1},v2:{v2}\n");ref int max=ref Max(ref v1,ref v2);WriteLine("After assignment");WriteLine($"max:{max}\n");max++;WriteLine("After increment");WriteLine($"max:{max},v1:{v1},v2:{v2}");}
}
  • 你不能将返回类型是void的方法声明为ref返回方法。

  • ref return表达式不能返回如下内容:

    • 空值
    • 常量
    • 枚举成员
    • 类或者结构体的属性
    • 指向只读位置的指针
  • ref return表达式只能指向原先就在调用域内的位置,或者字段。所以,它不能指向方
    法的局部变量。

  • 即使将一个方法声明为ref返回方法,如果在调用该方法时省略了ref关键字,则返回的
    将是值,而不是指向值的内存位置的指针。

  • 如果将ref局部变量作为常规的实际参数传递给其他方法,则该方法仅获取该变量的一个
    副本。尽管ref局部变量包含指向存储位置的指针,但是当以这种方式使用时,它会传递
    值而不是引用。

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

相关文章:

  • 如何做网站导航栏的seo优化我为什么不建议年轻人做运营
  • 做网站赚钱的案例谷歌搜索引擎seo
  • 模板网站和定制网站后缀的区别南京百度推广
  • 外贸电商做俄罗斯市场网站网络网站推广
  • 做色流网站要注意什么地方seo的理解
  • 滨海营销型网站建设指数函数和对数函数
  • 余杭政府门户网站平安建设标语百度广告一级代理
  • 用什么软件可以做网站温州云优化seo
  • 惠州网站建设 鑫谷歌三件套一键安装
  • 微网站建设包括哪些方面登封网络推广公司
  • 安徽泗县建设银行网站武汉java培训机构排名榜
  • 自己动手制作网站广州网页seo排名
  • 中国城乡住房和建设部网站东莞seo网站管理
  • 微网站的建设上海搜索引擎优化公司
  • wordpress不显示网站标题长沙网站关键词排名公司
  • 网站输入字符 显示出来怎么做免费的舆情网站
  • 电商设计平台佛山seo优化外包
  • 还有那个网站可以做兼职呢福州网站排名
  • 企业可以在哪些网站做免费宣传网络推广一般怎么收费
  • 网站模板源码今日热点头条新闻
  • 小白怎么做淘宝客网站北京首页关键词优化
  • 虫虫 wordpress百度seo推广
  • 作品展示网站源码烟台seo快速排名
  • 做斗图网站百度快照下载
  • 免费网站正能量软件地推项目发布平台
  • 项目外包网站昆山网站制作公司
  • 济南做网站知识seo推广有哪些公司
  • 如何用普通电脑做网站服务器广东最新新闻
  • 池州网站制作时事新闻热点摘抄
  • 做婚庆网站有哪些内容个人网站制作软件