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

组成原理毕业设计代做网站推荐网站建设ftp软件有哪些

组成原理毕业设计代做网站推荐,网站建设ftp软件有哪些,php做网站的源码,建设企业网站的原因.NET C# 八股文 代码阅读#xff08;一#xff09; 目录 .NET C# 八股文 代码阅读#xff08;一#xff09;1 两种获10000个数的方式#xff0c;哪种效率更高#xff1f;为什么#xff1f;2 请说出以下代码AB谁先打印#xff0c;AB打印的值分别为多少#xff1f;3 关于….NET C# 八股文 代码阅读一 目录 .NET C# 八股文 代码阅读一1 两种获10000个数的方式哪种效率更高为什么2 请说出以下代码AB谁先打印AB打印的值分别为多少3 关于值类型与引用类型、装箱与拆箱以下代码会输出什么4 关于变量作用域以下代码会输出什么 1 两种获10000个数的方式哪种效率更高为什么 // 方式一 Listint ints new Listint(); for (int i 0; i 10000; i) {ints.Add(i); } // 方式二 float[] floats new float[10000]; for (int i 0; i 10000; i) {floats[i] i; }方式二因为List会不断扩容扩容时会反复拷贝造成性能损耗 2 请说出以下代码AB谁先打印AB打印的值分别为多少 static int GetInt() {int i 10;try{return i;}finally{i 11;Console.WriteLine(第B处 i i);} }static void Main(string[] args) {int i GetInt();Console.WriteLine(第A处 i i); } // 输出 // 第B处 i 11 // 第A处 i 10步骤如下 定义局部变量 i 并赋值为 10。进入 try 块准备返回 i 的值即 10。在返回之前进入 finally 块将 i 赋值为 11并打印 第B处 i i。返回值已经在 try 块中确定为 10即使在 finally 块中修改了 i 的值也不会影响返回值。 finally 块的特点是不论 try 中是正常返回还是异常抛出它总会在 try 块的返回语句执行前执行但它对已经确定的返回值不会有影响。因此GetInt 方法的返回值仍然是 10。 class Test {public int i 10; }static Test GetObj() {Test t new Test();try{return t;}finally{t.i 11;Console.WriteLine(第B处 i t.i);} }static void Main(string[] args) {Test t GetObj();Console.WriteLine(第A处 i t.i); } // 输出 // 第B处 i 11 // 第A处 i 11因为 GetObj 返回的是一个 Test 对象是引用类型所以返回的实际上是一个指向 Test 实例的地址 所以在 try 返回之前在 finally 中对这个对象进行了修改而 try 返回之后Main 中再根据这个地址找到这个 Test 实例自然也是 finally 修改之后的实例。 这两种情况的不同实际上是对 “赋值” 与 “修改” 的混淆如果想依旧实现与上面 GetInt 相同的输出代码应该改成如下 class Test {public int i 10; }static Test GetObj() {Test t new Test();try{return t;}finally{t new Test();t.i 11;Console.WriteLine(第B处 i t.i);} } static void Main(string[] args) {Test t GetObj();Console.WriteLine(第A处 i t.i); } // 输出 // 第B处 i 11 // 第A处 i 103 关于值类型与引用类型、装箱与拆箱以下代码会输出什么 interface IA {public int id { get; set; }public string name { get; set; }public int[] children { get; set; } }struct A : IA {public int id { get; set; }public string name { get; set; }public int[] children { get; set; } } class B {public int id { get; set; }public string name { get; set; }public int[] children { get; set; } }static void DoA (A a) {a.id6;a.nameBob;a.children[0]7; } static void DoB (B b) {b.id6;b.nameBob;b.children[0]7; }static void Main(string[] args) {var a new A();a.name Alick;a.children new int[] { 1, 2, 3 };DoA(a);Console.WriteLine($a - name: {a.name}, id: {a.id}, children0: {a.children[0]});IA ia a;DoIA(ia);Console.WriteLine($ia - name: {ia.name}, id: {ia.id}, children0: {ia.children[0]});Console.WriteLine($a - name: {a.name}, id: {a.id}, children0: {a.children[0]});var b new B();b.name Alick;b.children new int[] { 1, 2, 3 };DoB(b);Console.WriteLine($b - name: {b.name}, id: {b.id}, children0: {b.children[0]}); } // 输出 // a - name: Alick, id: 0, children0: 7 // ia - name: Bob, id: 6, children0: 7 // a - name: Alick, id: 0, children0: 7 // b - name: Bob, id: 6, children0: 7代码分析 结构体 A 和接口 IA 结构体 A 实现了接口 IA。 以 A 声明变量时是一个值类型因此在传递给方法时会进行值复制。 以 IA 声明变量时会进行装箱boxing使其变成对象因此在传递给方法时传递的是引用。 类 B B 是一个引用类型因此在传递给方法时会传递引用。 DoA 方法 DoA 直接操作结构体 A。 由于 A 是值类型传递给 DoA 时会创建一个副本。 修改副本的 id 和 name 不会影响原来的 A但修改数组引用类型的内容会影响原数组。 name 是 string 类型也是引用类型但对 string 类型的修改都会创建新的字符串所以相当于是赋予了新的引用地址并没有修改 name 原来的字符串实例。 DoIA 方法 DoIA 操作的是接口 IA。 虽然传递的是实现了 IA 的结构体 A但是接口会装箱boxing这个结构体使其变成对象。 装箱后的修改会影响装箱后的对象但不会影响原来的结构体实例。 DoB 方法 DoB 操作的是类 B。 由于 B 是引用类型传递的是引用方法中的修改会影响原对象。 4 关于变量作用域以下代码会输出什么 Action action null; for (int i 0; i 10; i) {action () Console.WriteLine(i); } action.Invoke(); // 输出 // 0 // 0 // 0 // 0 // 0 // 0 // 0 // 0 // 0 // 0分析代码 定义一个空的 Action 委托 Action action null;使用 for 循环添加匿名方法到 action for (int i 0; i 10; i) {action () Console.WriteLine(i); }在每次循环中都会将一个新的匿名方法Lambda 表达式添加到 action 委托中这个匿名方法会打印变量 i 的值。 调用 action 委托 action.Invoke();由于 Lambda 表达式捕获的是变量 i 的引用而不是它的当前值当 action.Invoke() 被调用时for 循环已经完成变量 i 的值已经变成了 10。因此所有的匿名方法在被执行时都会打印当前 i 的值也就是 10。 Action action null; for (int i 0; i 10; i) {int localI i; // 引入一个新的局部变量action () Console.WriteLine(localI); } action.Invoke(); // 输出 // 0 // 1 // 2 // 3 // 4 // 5 // 6 // 7 // 8 // 9这样每个匿名方法都会捕获自己的 localI 变量这个变量在每次循环迭代时都有自己唯一的值。
http://www.eeditor.cn/news/124532/

相关文章:

  • 临淄网站建设asp网站开发框架
  • 企业网站 建设策划书赤峰市建设网站
  • 建设定制网站Ie8网站后台编辑文章
  • 自己做营销网站用自己电脑做外网访问网站
  • 河南seo网站策划广西住房和城乡建设门户网站
  • 手机网站软件不受国家管理的浏览器
  • 胶南做网站汽车门户网站开发
  • 欧美农庄网站模板自己做的网站怎么放上网
  • 云虚拟主机可以做视频网站不wordpress网站分享微信群
  • 泰州网站专业制作wordpress 修改页面链接地址
  • 济南网络科技公司广州网站建设优化公司
  • 网站公司企业宗旨对网站建设提建议
  • 网站帮助中心设计php网站开发路线
  • 企业官网网站模板下载不了wordpress 回复邮件
  • 外贸先做网站还是开公司wordpress搬家全站 404
  • 上海市建设工程安全生产协会网站乐山电商网站开发
  • 做网站确定什么主题好编程代码入门教学
  • 网站建设费开票税收代码wordpress透明主题下载地址
  • 织梦xml网站地图油漆企业网站要怎么做
  • 动态asp.net网站开发教程网站建设需要ui吗
  • 综合性门户网站是什么意思关于wordpress自动更新
  • 中国男女直接做的视频网站潍坊市住房和城乡建设局官网
  • 做网站前端有前途么宠物美容网站建设合同书
  • 运营网站挣钱方法建设企业网站的公司
  • 律师建网站嘉定南翔网站建设
  • 免费个人网站源码下载深圳公众号制作
  • 做网站的文案是指网页制作免费网站制作
  • 北京建设工程继续教育网站app研发费用一般多少钱
  • wordpress如何添加背景音乐网站优化工具
  • 知乎 php网站开发书籍河南网页设计