我读过一些博客文章提到,对于公共API,我们应该总是返回ICollection(或IEnumerable)而不是List.返回ICollection而不是List的真正优势是什么?
谢谢!
几个星期前我问了一个类似于这个的问题,但我没有正确地提出这个问题.所以我在这里重新询问更多细节的问题,我希望得到一个更加面向AI的答案.
我有一个代表大致相同的产品的清单.例如,在下面的列表中,它们都是希捷硬盘.
对于人类而言,硬盘驱动器3和5是相同的.我们可以更进一步,并假设产品1,3,4和5是相同的,并将产品2和6放在其他类别中.
在我之前的问题中,有人建议我使用特征提取.当我们有一个预定义描述的小数据集(所有硬盘驱动器)时,它工作得非常好,但是所有其他类型的描述呢?我不想开始为我的应用程序可能面临的所有描述编写基于正则表达式的特征提取器,它不能扩展.是否有任何机器学习算法可以帮助我实现这一目标?我可以获得的描述范围很广,在第1行,它可能是冰箱,然后在下一行,硬盘驱动器.我应该尝试采用神经网络路径吗?我的投入应该是什么?
感谢您的帮助!
我目前正在进行代码审查,以下代码让我跳了起来.我看到这个代码存在多个问题.你是否同意我的观点?如果是这样,我如何向我的同事解释这是错误的(顽固型......)?
码:
try
{
// Call to a WebService
}
catch (Exception ex)
{
if (ex is SoapException || ex is HttpException || ex is WebException)
{
// Log Error and eat it.
}
else
{
throw;
}
}
Run Code Online (Sandbox Code Playgroud) 我正在为C#寻找一个简单的CRUD(或DAL)生成器.我不想要任何重量级的东西,因为我在SQL Server 2008数据库中只有几个表.
有什么建议?我知道.netTiers,但这对我需要的东西来说太过分了.
谢谢!
更新:我尝试了LINQ to SQL,它不能很好地满足我的需求.
我有一个CPU密集型的应用程序.在单个线程上处理数据时,CPU使用率会持续很长时间达到100%.因此应用程序的性能似乎受到CPU的约束.我已经多线程化了应用程序的逻辑,从而提高了整体性能.但是,CPU使用率几乎不超过30%-50%.我期望CPU(和许多核心)达到100%,因为我同时处理了许多数据集.
下面是我用来启动线程的逻辑的简化示例.当我运行这个例子时,CPU达到100%(在8/16核心机器上).但是,我使用相同模式的应用程序没有.
public class DataExecutionContext
{
public int Counter { get; set; }
// Arrays of data
}
static void Main(string[] args)
{
// Load data from the database into the context
var contexts = new List<DataExecutionContext>(100);
for (int i = 0; i < 100; i++)
{
contexts.Add(new DataExecutionContext());
}
// Data loaded. Start to process.
var latch = new CountdownEvent(contexts.Count);
var processData = new Action<DataExecutionContext>(c =>
{
// The thread doesn't access data from a DB, file,
// network, …Run Code Online (Sandbox Code Playgroud) 我的一些Django 1.3模型具有DateField属性.生成表单时,我想使用jQuery UI Datepicker而不是纯文本字段.我知道我可以创建新的小部件,但我不明白如何.另外,我不确定是否已经为Django做了这样的事情(我用Google搜索,没有机会).
如何创建一个Django Widget,我可以在jQuery UI Datepicker的多个模型(和页面)中重用它?
我有两个相同类型的复杂(即具有string,int,double,List和其他自制数据类型的对象)对象.我想比较它们的内容,以确保它们是相同的.注意:该对象没有实现.Equals(我无法控制)并且没有实现IComparable.
是否有通用方法(反射?)来比较两个对象的内容?
谢谢!
我需要将一些类和数据结构保存到文件中.我的第一反应是使用XML或二进制序列化,但这变成了一场噩梦.我有一组不是序列化的类(私有setter,没有无参数构造函数,没有Serialization属性,字典等).考虑到我不能改变那些课程,我该怎么办?有没有解决方法,仍然使用序列化?
我是否必须编写所有代码来编写属性,集合等?
嗯,标题说明了一切.将文件名传递给方法时,我应该使用FileInfo对象还是普通文件名(字符串)?为什么我更喜欢一个到另一个?
我的一些同事喜欢写这样的方法:
它比以下更好:
谢谢!
使用"Does"(在C#中)启动方法名称是一个好习惯吗?这对我来说有点奇怪,所以我想得到你的意见.
我正在编写一种方法,检查帐户是否存在,签名是否为"bool DoesAccountExist(id)"?有更好的名字吗?
谢谢!
c# ×8
.net ×3
algorithm ×1
asynchronous ×1
crud ×1
dao ×1
database ×1
django ×1
exception ×1
fileinfo ×1
icollection ×1
ienumerable ×1
jquery ×1
naming ×1
python ×1