委托错误点


 1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5
6 namespace 委托练习
7 {
8 class Program
9 {
10 static void Main(string[] args)
11 {
12 string s = Console.ReadLine();
13 if (s == "1")
14 {
15 SomeDelegate f = Hello;
16 }
17 else
18 {
19 SomeDelegate f = Wow;
20 }
21       //两处错误:1、没有调用方法。2、变量f的作用域
22 Console.Read();
23 }
24
25 static void Hello(string name)
26 {
27 Console.WriteLine("Hello:{0}", name);
28 }
29
30 static void Wow(string name)
31 {
32 Console.WriteLine("Wow:{0}", name);
33 }
34 }
35
36 delegate void SomeDelegate(string name);
37 }

正解::


 1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5
6 namespace 委托练习
7 {
8 class Program
9 {
10 static void Main(string[] args)
11 {
12 string s = Console.ReadLine();
13
14 SomeDelegate f;//解决问题2,变量作用域
15 if (s == "1")
16 {
17 f = Hello;//只是指向,没有执行
18 }
19 else
20 {
21 f = Wow;
22 }
23 f("aaa");//调用f指向的函数//解决问题一,方法调用
24 Console.Read();
25 }
26
27 static void Hello(string name)
28 {
29 Console.WriteLine("Hello:{0}", name);
30 }
31
32 static void Wow(string name)
33 {
34 Console.WriteLine("Wow:{0}", name);
35 }
36 }
37
38 delegate void SomeDelegate(string name);
39 }

委托错误点,布布扣,bubuko.com

时间: 2024-11-08 18:27:18

委托错误点的相关文章

图像双三次插值中遇到的问题(镶边、错误点)

测试图像: src3.bmp 0 2 tar src3.bmp 37.5 2 tar:会出现小点(其值为205) 分析原因是该处点未赋值! 可以发现若缩小循环后,所有未赋值的点都会是205. 具体分析是if语句条件没判别全,导致有点没被覆盖上赋值.if=255没考虑. if(middle<255) pbTag[y*2*iWidth+x]=middle; else if(middle>255) pbTag[y*2*iWidth+x]=255; 应改为: if(middle<=255) pb

第20章 异常和状态管理20.7-20.13

20.7用可靠性换取开发效率 面向对象编程,编译器功能,CLR功能以及庞大的类库——使.Net Framework成为一个颇具吸引力的开发平台.但所有的这些东西,都会在你的代码中引入你没有什么控制权的“错误点”,如果 OutOfMemoryExcepton等.程序开发不可能对这些异常进行一一捕捉,让应用程序变得绝对健壮.意料意外的异常往往造成程序状态的破坏,为 了缓解对状态的破坏,可以做下面几件事: ●执行catch或finally块时,CLR不允许终止线程,所以可以向下面这样写是Transfe

第五节:用可靠性换取开发效率

面向对象编程极大的提升了开发人员的效率.开发效率的提升有很大一部分来源于可组合性,它使代码很容易编写.阅读.维护.例如下面的代码: Boolean f = "Jeff".Substring(1, 1).ToUpper().EndsWith("E"); 但上面代码有一个重要的前提:没有错误发生.而错误总是可能发生的.所以,我们需要一种方式处理那些错误.这正是异常处理构造和机制的目的,也解释了我们为什么不让自己的方法像Win 32和Com函数那样返回true/fasle

对CLR异常和状态管理的一点理解

一:自己的感悟 今天读到<CLR via C#>的异常和状态管理这一章,作者给出了关于异常处理的诸多建议,里面有一些建议自己深有体会,比如说使用可靠性换取开发效率这一节.之前自己对异常怎么处理也有过自己的思考,归纳了一下主要有以下几点: 1.不要什么异常都捕捉,只有在自己不确定这段代码会不会有问题时才去捕捉异常,大部分的异常应该在开发测试阶段就消灭 2.异常在没有发生时异常对程序的效率没什么影响,一旦发生异常程序的效率的就会下降好几倍 以上就是自己在写程序时对异常的处理,虽然比较了解.NET的

LeetCode: Recover Binary Search Tree

LeetCode: Recover Binary Search Tree Two elements of a binary search tree (BST) are swapped by mistake. Recover the tree without changing its structure. Note: A solution using O(n) space is pretty straight forward. Could you devise a constant space s

1111. Online Map (30)

Input our current position and a destination, an online map can recommend several paths. Now your job is to recommend two paths to your user: one is the shortest, and the other is the fastest. It is guaranteed that a path exists for any request. Inpu

项目中遇到的某些问题及解决办法(一)

简介 该博文记录了一些平时在工作中遇到的问题及解决办法,某些问题有解决办法,某些问题暂时没有解决办法,如果有大神知道的,请多多指点. 如果某些问题有更好的解决办法,也请指教. 正文 1.在一个方法中用泛型操作两个不同的类型(Type). 难点:需要实现一个方法,进入参数一个泛型,返回信息一个泛型.但是一个方法中泛型只支持一种类型. 解决办法:将进入和返回放在一个类型中,用特性将进入参数和返回参数区分开. 2.微信三方登录,需要在PC桌面应用端+API服务实现. 难点:微信官网只提供了网页三方登录

搭建emacs的go编程语言环境

关于emacs就不说明了,直接切入主题.关于我的emacs配置,可以直接参考GitHub上的lienhua34/myemacs-conf. go-mode 安装 关于go-mode的安装,可以直接参考GitHub.从github上下载go-mode.el或go-mode-autoloads.el文件到你本地的某个目录下,然后在~/.emacs文件中输入下面内容: (add-to-list 'load-path "/path/to/your/dir") (require 'go-mode

Gym 100971A Treasure Island BFS 思维题

A - Treasure Island Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit Status Description standard input/output Announcement Statements Pirate John Silver has found a map depicting exactly one island in a sea. The ma