草庐IT

c# - 面向对象编程中static修饰符有什么用?

在我的一次采访中,有人问我static修饰符表示什么。我通过告诉面试官不能创建静态类的对象以及其他有用的点来回答。但是面试官问创建这样一个对象不能创建的类有什么用。基本上,他们问的是为什么首先需要static?我不太确定如何回答这个问题。我应该说什么? 最佳答案 面试官可能希望您讨论面向对象的设计和模式,而不是他们希望您背诵特定修饰符的定义。这里真的没有正确答案。纯粹主义者可能会争辩说static是可憎的。实用主义者可能会争辩说,它填补了“一切都是对象”抽象中的一个空白,允许您调用实用方法,而实例化一个新对象只是为了调用它们是没有意

c# - 混淆 : Internal, 保护和保护内部

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Whatisthedifferencebetween'protected'and'protectedinternal'?WhatisthedifferencebetweenPublic,Private,Protected,andNothing?代码如下:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespacetestanotherlib{publicclassA{internalvoidInt

c# - 隐藏在 c# 中的方法以及一个有效的例子。为什么在框架中实现?什么是现实世界的优势?

谁能用一个有效的例子来解释C#中方法隐藏的实际用法?如果方法是在派生类中使用new关键字定义的,那么它不能被覆盖。然后它与创建一个具有不同名称的新方法(除了基类中提到的方法)一样。是否有使用new关键字的特定原因? 最佳答案 我有时对new关键字的一个用途是在平行继承树中用于“穷人属性协方差”。考虑这个例子:publicinterfaceIDependency{}publicinterfaceConcreteDependency1:IDependency{}publicclassBase{protectedBase(IDepende

c# - 在 OO 语言中,您如何命名包含 Main 方法的类?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。例如在C#或Java中,您总是有一个main()方法用于让您的程序运行。你给它所在的类(class)起什么名字?我会使用的一些想法只是“程序”或程序本身的名称。在这种情况下,什么会被视为常规?

c# - 为什么一个接口(interface)会实现另一个接口(interface)?

我正在查看List的声明并看到它实现了IList,ICollection和IEnumerable(除其他外)。然后我去看IList的定义并看到它实现了ICollection和IEnumerable.如果一个接口(interface)实现另一个接口(interface)就像“契约(Contract)”一样工作,而我们没有为它们编写真正的代码,那有什么意义呢?这个实现是累积的吗?如果是,因为IList工具ICollection和IEnumerable,List不应该只实现IList?抱歉,如果我的问题令人困惑,我现在有点困惑。 最佳答案

c# - 转换到界面是拳击转换吗?

我有一个接口(interface)IEntitypublicinterfaceIEntity{boolValidate();}我有一个实现这个接口(interface)的Employee类publicclassEmployee:IEntity{publicboolValidate(){returntrue;}}现在如果我有以下代码Employeeemp1=newEmployee();IEntityent1=(IEntity)emp1;//Isthisaboxingconversion?如果不是拳击转换,那么类型转换是如何运作的? 最佳答案

c# - 如何打破实体之间的循环关联?

我第一次访问该网站,如果标记不正确或在其他地方得到回答,我深表歉意...我在当前项目中不断遇到特殊情况,我想知道你们会如何处理它。模式是:父级有一组子级,父级有一个或多个对子级集合中特定项目的引用,通常是“默认”子级。一个更具体的例子:publicclassSystemMenu{publicIListItems{get;privateset;}publicMenuItemDefaultItem{get;set;}}publicclassMenuItem{publicSystemMenuParent{get;set;}publicstringName{get;set;}}对我来说,这似乎

c# - 我如何在 C# 中释放对象

谁能告诉我如何在C#中释放对象?比如我有一个对象:Objectobj1=newObject();//Somecodeusingobj1/*HereIwouldliketofreeobj1,afteritisnolongerrequiredandalsomoreimportantlyitsscopeisthefullruntimeoftheprogram.*/谢谢你的帮助 最佳答案 你不必。运行时的垃圾收集器会出现并为您清理它。这就是您首先使用C#而不是非托管C++的原因:) 关于c#-我

c# - 责任链设计模式有哪些替代方案?

我正在为一个业务线应用程序构建邮件模块。情况是,当发送邮件以响应某些输入时,它们应该被分组,这样用户就不会收到几封包含不同项目的连续邮件,而只会收到一封包含所有项目的邮件。此外,邮件应按特定类型分组,这取决于创建邮件通知的输入类型,我有输入列表,每个输入都有其特定的分组类型,例如:层次结构:员工有流程有请求有事件事件1:由员工(因此接收者将在一封邮件中收到他拥有的此事件类型的所有流程通知)事件2:按流程(接收方将收到一组关于此流程和此事件类型的所有请求的所有通知)事件3:按请求(此请求的事件将分组)事件4:按事件(每个事件将在单独的邮件中发送)这个分组会不断变化。您可能会想,为了做到这

c# - 关于基于类的文本冒险游戏设计的质疑。

我整个夏天都在学习C#,现在我想利用我目前所做的一切来制作一个小项目。我决定开发一种基于文本的冒险游戏。游戏的基本结构将涉及多个区域(或房间)。进入房间后,将输出描述和一些您可以采取的行动;在那个房间里检查、捡起、使用东西的能力;可能是战斗系统等。一个扇区最多可以连接4个其他扇区。无论如何,在纸上写下关于如何为此设计代码的想法,我正在摸索我的部分代码的结构。我已经决定了一个玩家类,以及一个委托(delegate)关卡/地牢/区域的“关卡”类。该级别类别将由许多相互关联的“部门”组成。在任何给定时间,玩家都会出现在关卡中的某个特定区域。所以这里是困惑:从逻辑上讲,人们会期待一种方法,例如