小编Mar*_*tin的帖子

返回ICollection <T>而不是List <T>的真正好处是什么?

我读过一些博客文章提到,对于公共API,我们应该总是返回ICollection(或IEnumerable)而不是List.返回ICollection而不是List的真正优势是什么?

谢谢!

重复:List(T)和Collection(T)有什么区别?

.net c# ienumerable icollection

15
推荐指数
1
解决办法
1万
查看次数

算法对产品列表进行分类?拿2

几个星期前我问了一个类似于这个的问题,但我没有正确地提出这个问题.所以我在这里重新询问更多细节的问题,我希望得到一个更加面向AI的答案.

我有一个代表大致相同的产品的清单.例如,在下面的列表中,它们都是希捷硬盘.

  1. 希捷硬盘500Go
  2. 希捷硬盘120Go笔记本电脑
  3. 希捷Barracuda 7200.12 ST3500418AS 500GB 7200 RPM SATA 3.0Gb/s硬盘
  4. 希捷新推出的500G硬盘
  5. 希捷Barracuda 7200.12
  6. 希捷FreeAgent Desk 500GB外置硬盘银7200RPM USB2.0零售
  7. GE Spacemaker Laudry
  8. Mazda3 2010
  9. Mazda3 2009 2.3L

对于人类而言,硬盘驱动器3和5是相同的.我们可以更进一步,并假设产品1,3,4和5是相同的,并将产品2和6放在其他类别中.

在我之前的问题中,有人建议我使用特征提取.当我们有一个预定义描述的小数据集(所有硬盘驱动器)时,它工作得非常好,但是所有其他类型的描述呢?我不想开始为我的应用程序可能面临的所有描述编写基于正则表达式的特征提取器,它不能扩展.是否有任何机器学习算法可以帮助我实现这一目标?我可以获得的描述范围很广,在第1行,它可能是冰箱,然后在下一行,硬盘驱动器.我应该尝试采用神经网络路径吗?我的投入应该是什么?

感谢您的帮助!

algorithm classification machine-learning neural-network

14
推荐指数
2
解决办法
2822
查看次数

捕获System.Exception等非特定异常是不好的做法?为什么?

我目前正在进行代码审查,以下代码让我跳了起来.我看到这个代码存在多个问题.你是否同意我的观点?如果是这样,我如何向我的同事解释这是错误的(顽固型......)?

  • 捕获一般异常(Exception ex)
  • 使用"if(ex is something)"而不是另一个catch块
  • 我们吃SoapException,HttpException和WebException.但是如果Web服务失败了,那就没那么多了.

码:

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)

.net c# exception-handling exception

13
推荐指数
3
解决办法
6956
查看次数

适用于C#的简单CRUD生成器

我正在为C#寻找一个简单的CRUD(或DAL)生成器.我不想要任何重量级的东西,因为我在SQL Server 2008数据库中只有几个表.

有什么建议?我知道.netTiers,但这对我需要的东西来说太过分了.

谢谢!

更新:我尝试了LINQ to SQL,它不能很好地满足我的需求.

c# database code-generation dao crud

13
推荐指数
3
解决办法
4万
查看次数

使用C#和APM的CPU使用率不是100%的原因是什么?

我有一个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)

.net c# multithreading asynchronous

13
推荐指数
1
解决办法
6302
查看次数

如何使用jQuery UI Datepicker作为Django小部件?

我的一些Django 1.3模型具有DateField属性.生成表单时,我想使用jQuery UI Datepicker而不是纯文本字段.我知道我可以创建新的小部件,但我不明白如何.另外,我不确定是否已经为Django做了这样的事情(我用Google搜索,没有机会).

如何创建一个Django Widget,我可以在jQuery UI Datepicker的多个模型(和页面)中重用它?

python django jquery django-widget

13
推荐指数
2
解决办法
1万
查看次数

比较两个对象的内容是否相等

我有两个相同类型的复杂(即具有string,int,double,List和其他自制数据类型的对象)对象.我想比较它们的内容,以确保它们是相同的.注意:该对象没有实现.Equals(我无法控制)并且没有实现IComparable.

是否有通用方法(反射?)来比较两个对象的内容?

谢谢!

c#

12
推荐指数
4
解决办法
3万
查看次数

如何序列化未设计为序列化的类?

我需要将一些类和数据结构保存到文件中.我的第一反应是使用XML或二进制序列化,但这变成了一场噩梦.我有一组不是序列化的类(私有setter,没有无参数构造函数,没有Seri​​alization属性,字典等).考虑到我不能改变那些课程,我该怎么办?有没有解决方法,仍然使用序列化?

我是否必须编写所有代码来编写属性,集合等?

c# xml-serialization

12
推荐指数
2
解决办法
3178
查看次数

将文件名传递给方法时,我应该使用FileInfo还是普通文件名?

嗯,标题说明了一切.将文件名传递给方法时,我应该使用FileInfo对象还是普通文件名(字符串)?为什么我更喜欢一个到另一个?

我的一些同事喜欢写这样的方法:

  • void Export(FileInfo fileInfo)

它比以下更好:

  • void Export(string fileName)

谢谢!

c# fileinfo

12
推荐指数
3
解决办法
4230
查看次数

方法名称以"Does"开头看起来不错吗?

使用"Does"(在C#中)启动方法名称是一个好习惯吗?这对我来说有点奇怪,所以我想得到你的意见.

我正在编写一种方法,检查帐户是否存在,签名是否为"bool DoesAccountExist(id)"?有更好的名字吗?

谢谢!

c# naming naming-conventions

12
推荐指数
2
解决办法
4936
查看次数