草庐IT

猿创征文|那些年我们追过的那些技术

全部标签

c# - 我们可以继承单例类吗?

我们可以继承单例类吗? 最佳答案 这取决于实现。单例通常具有私有(private)构造函数并且可能标记为sealed,如果是这样则不能。如果它至少受到保护,你可以。如果你只是从单例类继承,结果将不是单例,所以你应该遵循这个模式,让它也是单例。 关于c#-我们可以继承单例类吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3564758/

c# - 为什么我们需要在某些对象上使用 Dispose() 方法?为什么垃圾收集器不做这项工作?

问题是:为什么我们需要在某些对象上调用Dispose()?为什么垃圾收集器在超出范围时不收集对象?我试图理解为什么它是这样实现的。我的意思是,如果在垃圾收集器收集超出范围的对象时调用Dispose()会不会更容易。 最佳答案 垃圾收集器是不确定的-它会在对象不再被引用后某个时间点收集对象,但不能保证及时发生。与引用计数相比,这有很多好处,包括允许循环依赖和不在所有地方递增和递减计数器的性能优势。但是,这确实意味着对于应该及时清理的资源(例如数据库连接、文件句柄等-几乎所有内存以外的资源),您仍然需要显式处理资源。using语句使这变

c# - 实现 IEnumerable 的类实例的技术正确术语是什么?

我们称这样的实例为“集合”吗?一个“可枚举的”?或者是其他东西?我问我的两个主要目标是:让其他开发人员理解,而不必解释该类实现了IEnumerable。技术上正确和精确。 最佳答案 从技术上讲,我会通知开发人员它实现了IEnumerable。说任何其他信息都不够有用。任何了解IEnumerable的人都会立即了解您的类的功能。任何不了解的人都不会理解您所描述的内容。 关于c#-实现IEnumerable的类实例的技术正确术语是什么?,我们在StackOverflow上找到一个类似的问题:

c# - 为什么我们需要在 C# 中类型转换枚举

我有一个像这样的枚举:publicenumTest:int{A=1,B=2}所以在这里我知道我的枚举是一个int类型但是如果我想做如下的事情:inta=Test.A;这行不通。如果我有这样的类(class):publicclassMyTest{publicstaticintA=1;}我可以说,inta=MyTest.A;这里我不需要将A显式转换为int。 最佳答案 SohereIknowmyenumisaninttype不,不是。它有底层int类型,但它是一个单独的类型。哎呀,这就是首先使用枚举的一半意义-您可以将类型分开。当您想要

c# - 我们可以在 'app.config' 文件中声明变量吗?

我有一个需要连接到SQLServer的表单,我有一个用于选择数据库列表并执行主键检查等操作的下拉列表。但目前我的连接字符串如下所示:SqlConnectionsConnection=newSqlConnection("Server=192.168.10.3;DataBase=GoalPlanNew;UserId=gp;Password=gp");但是除了给定的数据库之外,我还需要将它作为变量,以便我可以将它连接到我从下拉列表中选择的数据库。我该怎么做? 最佳答案 嗯,你可以这样声明你的变量喜欢阅读stringsmtpHost=Con

c# - .Net 中可用的并行技术

我是.Net平台的新手。我搜索了一下,发现在.Net中有几种方法可以进行并行计算:任务并行库中的并行任务,即.Net3.5。PLINQ、.Net4.0异步编程,.Net2.0,(异步主要用于执行I/O繁重的任务,F#具有支持此功能的简洁语法)。我列出这个是因为在Mono中,似乎没有TPL或PLINQ。因此,如果我需要编写跨平台并行程序,我可以使用异步。.Net线程。没有版本限制。您能否就这些给出一些简短的评论或在此列表中添加更多方法? 最佳答案 您确实需要进行大量研究才能确定如何有效地使用多线程。有一些不错technicalarti

c# - 我们如何检查列表框中的任何项目是否在 ASP.NET 2.0 中被选中?

如果我想知道是否检查了任何项目,我必须执行一个for循环并检查是否检查了任何项目。在C#中,有类似的东西listbox.SelectedItems.Count();ASP.NET有没有类似的方法? 最佳答案 您可以通过以下代码查看是否选择了任何项目:if(listboxname.SelectedIndex==-1)MessageBox.Show("PleaseselectanItemfirst!"); 关于c#-我们如何检查列表框中的任何项目是否在ASP.NET2.0中被选中?,我们在S

c# - 为什么我们需要结构? (C#)

要使用结构,我们需要实例化结构并像使用类一样使用它。那我们为什么不首先创建一个类呢? 最佳答案 结构是一种值类型,因此如果您创建一个副本,它实际上会复制数据,而对于一个类,它只会复制对数据的引用 关于c#-为什么我们需要结构?(C#),我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1216993/

c# - 为什么我们需要 C# 中的迭代器?

有人可以提供有关使用迭代器的真实示例吗?我尝试在谷歌上搜索,但对答案并不满意。 最佳答案 您可能听说过数组和容器-存储其他对象列表的对象。但是为了让一个对象代表一个列表,它实际上不必“存储”该列表。它所要做的就是为您提供允许您获取列表项的方法或属性。在.NET框架中,接口(interface)IEnumerable从这个意义上说,一个对象必须支持才能被视为“列表”。稍微简化一下(省略一些历史包袱):publicinterfaceIEnumerable{IEnumeratorGetEnumerator();}所以你可以从中得到一个枚举

c# - 试图简化我们的存储库模式

目前我们已经在工作中实现了一个存储库模式。我们所有的存储库都位于它们自己的接口(interface)后面,并通过Ninject进行映射。我们的项目非常大,我试图解决的这个模式有几个怪癖。首先,在某些Controller中,我们需要将10到15个存储库都放在同一个Controller中。当请求如此多的存储库时,构造函数变得相当丑陋。在您调用多个存储库上的方法后,第二个怪癖就会显现出来。在处理多个存储库后,我们需要调用SaveChanges方法,但是我们应该在哪个存储库上调用它呢?每个存储库都有一个。所有存储库都注入(inject)了相同的EntityFramework数据上下文实例,因此