39、以下代码,假设使用了自定义库,库中定义了一个 Sample 类,该类有一个 Display 方法,库中还定义了扩展方法 UsePartial 。代码先输出 ‘Exercise 5.6’,然后对 Display 方法使用 UsePartial 方法并传入 ‘red’ 和 ‘green’,再传入 ‘yellow’,最后输出结果。请问这段代码能否编译?如果可以,预测其输出结果。
可以编译这段代码。输出结果为:
Exercise 5.6
Mixing yellow with green and red.
40、NuGet 包对你有什么帮助?
NuGet 包的作用与优势
NuGet 包包含其他开发者已开发的可重用代码(即库),可用于自己的项目。
- 它能填补 C# 作为面向对象编程语言在特定功能支持上的空白。
- 让开发者无需从头开发,节省开发时间。
- 若库知名且广泛使用,还能获得定期的错误修复和自动更新。
- 使代码更简洁。
此外,Microsoft 提供了在 Windows 的 Visual Studio 中安装和使用 NuGet 包的详细步骤说明。
41、请区分诚实函数和纯函数。
诚实函数与纯函数的区别
诚实函数和纯函数有一定区别。
- 诚实函数 总是遵守其签名,例如:
-
Sum函数 -
MakeDoubleAndConvert函数
它们会按声明的那样处理输入并返回结果。而像DivideBy函数在某些情况下(如除数为0)可能不遵守约定。 -
纯函数 需满足两个特性:
1. 一致性 :相同输入总是返回相同输出。
2. 无副作用 :不改变函数外的变量或数据。
诚实函数的要求相对于纯函数没有那么严格。”诚实”是一个较不正式、技术性没那么强的术语,但仍然具有实用性。
42、有如下函数:public void Execute() { Initiate(); ExecutePartOne(); ExecutePartTwo(); PrintStatus(); } 你如何看待这个函数设计?你认为这是一个好的设计吗?
这个函数设计存在问题,不是一个好的设计。调用 Execute 函数会按顺序调用四个函数,但重新排列这些调用顺序,代码虽能编译,但输出会不同,甚至会导致运行时异常。
更好的做法是通过代码表达顺序执行的意图,需要对程序进行重构。重构后的版本应避免调用顺序可随意更改,以避免运行时异常。

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



