小编Joe*_* Gö的帖子

C#中的双向1对1字典

我正在寻找C#(2)中的通用双向1到1字典类,即.a BiDictionaryOneToOne<T, S>保证只包含每个值和键中的一个(无论如何最多为RefEquals),并且可以使用键或值进行搜索.有人知道,或者我应该自己实施吗?我不敢相信我是第一个需要这个的人......

这个问题的答案中有一个BiDictionary ,但它不适用于唯一元素(并且也不实现RemoveByFirst(T t)或RemoveBySecond(S s)).

谢谢!

.net c# collections

98
推荐指数
3
解决办法
2万
查看次数

如何使用C#从文件中获取EXIF数据

我想在C#中编写一个小程序,通过我的jpeg照片,例如,将它们分类为过时的文件夹(使用我的约会惯例,该死...).

有没有人知道以编程方式获取日期和时间或曝光等EXIF数据的相对简单的方法?谢谢!

c# exif photography

72
推荐指数
6
解决办法
11万
查看次数

VisualStudio:如何在其他地方保存obj文件夹

有谁知道如何告诉VS(2008)在构建解决方案时保存obj文件夹的位置?我们将bin文件夹保存到另一个路径以保持源文件文件夹较小(即可通过电子邮件发送),但无法找到任何方法告诉它使用obj执行相同操作...

build-process visual-studio

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

什么是几何算法的好来源?

我正在寻找几何算法的具体来源;

像两条线交叉等简单的东西很容易(并且很容易找到),但是我想找到一些算法来处理更棘手的事情,例如找到通过扩展给定多边形一定量形成的形状; 具有弯曲边等形状的快速算法

任何好的提示?谢谢!

algorithm geometry computational-geometry

23
推荐指数
4
解决办法
1274
查看次数

阅读.DXF文件

有没有人知道源代码,理想情况下是C#或类似的源代码,用于读取.DXF文件(由AutoCAD等使用)?如果不是代码,那么表格显示各种代码(元素/块/等)及其含义?

我自己正在写一个读者,并有死树文档详细说明格式,但我试图避免从255种ACI颜色中的每种颜色转换为RGB ...谢谢!

c# autocad dxf

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

在多边形内找到轴对齐的矩形

我正在寻找一个好的算法来找到一个(不一定是凸面)多边形内的轴对齐矩形.最大的矩形会很好,但不是必需的 - 任何可以找到"相当好"的矩形的算法都可以.

多边形也可能有孔,但任何只适用于凸多边形或简单多边形的算法指针也会有所帮助.

在我的实现中,对于边的交叉测试相当便宜,但是"多边形点"测试是昂贵的,因此理想情况下应该最小化.

algorithm geometry polygon rectangles

16
推荐指数
2
解决办法
8357
查看次数

C#中集合数据类型的比较

有谁知道对不同C#集合类型的一个很好的概述?我在寻找的东西显示这如基本的操作Add,Remove,RemoveLast等的支持,并给予相对性能.

对于各种泛型类来说会特别有趣 - 如果它显示出来,那就更好了.如果List<T>where T是一个类和一个Tstruct是struct 之间的性能差异.

一个开始将是抽象数据结构的一个很好的备忘单,比较链接列表,哈希表等等.谢谢!

c# data-structures

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

为什么SerializationInfo没有TryGetValue方法?

当实现ISerializable在C#中的接口,我们提供一个构造函数,需要一个SerializationInfo对象,然后用各种查询时GetInt32,GetObject为了填补对象的,我们正在尝试反序列化领域等方法.

实现此接口的一个主要原因,而不仅仅是使用[Serializable]属性,是为了向后兼容:如果我们在某个时刻向类中添加了新字段,我们可以捕获SerializationException序列化的旧版本的类,并处理他们以适当的方式.

我的问题如下:为什么我们必须将这些例外用于控制流程?如果我反序列化大量前一段时间保存的类,可能每个类中的每个缺失字段都会抛出异常,从而导致性能非常差.

为什么SerializationInfo类不提供TryGetValuefalse在名称字符串不存在时才会返回的方法?

c# serialization exception

16
推荐指数
1
解决办法
4770
查看次数

如何表明方法不成功

我有几种类似的方法,例如.CalculatePoint(...)和CalculateListOfPoints(...).有时,它们可能不会成功,并且需要向呼叫者指出这一点.对于返回通用List的CalculateListOfPoints,我可以返回一个空列表并要求调用者检查这个; 但是Point是一个值类型,所以我不能在那里返回null.

理想情况下,我希望这些方法"看起来"相似; 一种解决方案可能是将它们定义为

public Point CalculatePoint(... out Boolean boSuccess);
public List<Point> CalculateListOfPoints(... out Boolean boSuccess);
Run Code Online (Sandbox Code Playgroud)

或者返回一个点?对于CalculatePoint,并返回null以指示失败.这意味着必须回归到非可空类型,这似乎是过度的.

另一种方法是返回布尔boSuccess,将结果(Point或List)作为'out'参数,并将它们称为TryToCalculatePoint或其他...

什么是最佳做法?

编辑:我不想使用Exceptions进行流量控制!有时候会失败.

c# methods return-value

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

如何在不花费12,000美元的情况下获得VisualStudio 2010酷工具

我们是一个小型开发商店,有10个人,其中3个人正在做.Net.新的VisualStudio 2010工具看起来非常好,我们想使用它们 - 但似乎其中许多(历史调试,UML工具,测试工具)只能在Ultimate Edition中使用.这需要12,000美元.或者对我们三个人来说近四十岁.(详见此处).

鉴于建筑可视化工具似乎直接取消了NDepend,每个成本约250欧元(并且非常优秀),我们无法证明这种支出的合理性.

现在,我们有一个正常的MSDN专业订阅,但只有我们一个VS团队系统,我认为不会给我们三个2010年Ultimates.鉴于我们没有使用整个Team Foundation Server的东西,只想要开发工具,我们能做些什么?

编辑:

以下是"专业"版本中缺少的开发工具列表(留下数据库和另一个问题的"测试实验室"工具).星号(*)表示该功能属于"Premium"版本,没有星号表示仅在"Ultimate"中可用.什么是非数千美元的替代品?

  • 测试:

    代码覆盖范围(*)

    测试影响分析(*)

    编码UI测试(*)

    网络性能测试

    负载测试

  • 调试和诊断:

    静态代码分析(*)

    代码指标(*)

    分析(*)

    IntelliTrace(历史调试器)

  • 架构和建模:

    UML和层图查看器(*)

    Architecture Explorer

    符合UML 2.0的图表(活动,用例,序列,类,组件)

    层图和依赖性验证

devtools visual-studio-2010

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