小编Dar*_*mas的帖子

List <T>的Last()扩展方法的性能如何?

我非常喜欢Last()并且会一直使用它List<T>.但是因为它似乎被定义了IEnumerable<T>,我想它首先枚举枚举 - 这应该是O(n)而不是O(1)直接索引a的最后一个元素List<T>.

标准(Linq)扩展方法是否意识到这一点?

C++中的STL通过迭代器和诸如此类的整个"继承树"来意识到这一点.

.net c# linq extension-methods

35
推荐指数
3
解决办法
8013
查看次数

我们的subversion服务器有一个新的IP地址 - 现在是什么?

我们通过ip地址连接到存储库 - 由我们之前的人介绍的快速黑客,因为我们没有真正的服务器,只是一台运行apache的老电脑,svn等我们最近搬了办公室,似乎是"服务器"正在使用DHCP - 它今天早上启动到一个新的IP地址.登录trac(也在该服务器上运行)很简单:只需在浏览器中更改书签即可.

但是我该如何处理我的工作副本?我怎么知道在哪里找到服务器?

svn

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

什么(纯)Python库用于AES 256加密?

我正在寻找一个(最好是纯粹的)python库来进行AES 256加密和解密.

该库应该支持CBC密码模式,并根据我之前的问题的答案使用PKCS7填充.

该库至少应该适用于Mac OS X(10.4)和Windows XP.理想情况下,只需将其放入我的项目的源目录中.我已经看过Josh Davis的这个,但我不确定它有多好,如果它做了所需的CBC密码模式......扫描源表明它没有

python encryption aes

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

如何交叉两个多边形?

这似乎并不重要(它在各种论坛上得到了很多讨论),但我绝对需要将它作为更复杂算法的构建块.

输入:2D中的2个多边形(A和B),以[(x0, y0, x1, y2), ...]每个边的列表形式给出.这些点由doubles 对表示.我不知道它们是顺时针,逆时针还是任何方向.我知道他们不一定是凸的.

输出:表示A,B和交叉多边形AB的3个多边形.其中任何一个都可以是空(?)多边形,例如null.

优化提示:这些多边形代表房间和楼层边界.所以房间边界通常与地面边界完全相交,除非它属于同一平面上的另一层(argh!).

我有点希望有人已经在c#中完成了这个并且让我使用他们的策略/代码,因为到目前为止我在这个问题上发现的是相当艰巨的.

编辑:所以看起来我并不完全是鸡,因为这样做的前景微弱.我想在这里重述所需的输出,因为这是一个特例,可能会使计算更简单:

输出:第一个多边形减去所有相交的位,交叉多边形(复数是正常的).我对第二个多边形并不感兴趣,只是它与第一个多边形的交集.

EDIT2:我目前正在使用GPC(General Polygon Clipper)库,这非常容易!

c# intersection polygon

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

如何跟踪T-SQL函数调用

我正在尝试调试一个用T-SQL UDF编写的相当复杂的公式求值程序(不要问)递归(但通过中间函数间接)调用自己,blah,blah.

当然,我们有一个错误.

现在,使用PRINT语句(然后可以通过实现InfoMessage事件的处理程序从ADO.NET中读取),我可以模拟存储过程的跟踪.

对UDF执行相同操作会产生编译时消息:

Invalid use of side-effecting or time-dependent operator in 'PRINT' within a function.
Run Code Online (Sandbox Code Playgroud)

我得到了消息(PRINT做了一些像重置@@ROWCOUNT这样的东西,在UDF中肯定是禁止的,但我如何追踪通话?我想打印出这条迹线,所以我可以研究它而不会因为踩踏而分心调试器中的调用...

编辑:我曾尝试使用SQL Profiler(这是第一次给我),但我无法弄清楚要追踪的内容:虽然我可以获取跟踪输出发送到数据库的查询,但它们是opaque在某种意义上说我无法向下钻取到被调用的Expression-UDF:我可以跟踪调用的实际存储过程,但是没有列出此过程调用的UDF.我错过了什么吗?我猜不会...

编辑#2:尽管(自动)接受的答案确实跟踪了函数调用 - 非常有用,谢谢 - 它无助于找出传递给函数的参数.当然,这对于调试递归函数至关重要.如果我发现任何溶剂,我会发布...

t-sql debugging trace user-defined-functions

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

如何在Windows窗体TextBox控件中设置TAB宽度?

给定带有MultiLine = true和的WinForms TextBox控件AcceptsTab == true,如何设置显示的制表符的宽度?

我想将它用作插件的快速和脏脚本输入框.它真的不需要花哨,但如果标签没有显示为8个字符宽,那就太好了......

.net textbox winforms

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

如何在C#/ VisualStudio 2008中导出代码文档?

我总是使用C#xml语法为类和方法编写好的代码注释.我一直希望以后能够轻松地将它们导出.

今天我实际上必须这样做,但我很难找到方法.有什么我想念的吗?我想去菜单 - >构建 - >构建代码文档,但没有选项可以做到这一点.

.net c# xml-documentation visual-studio-2008

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

如何在C#中创建临时文件(用于写入)?

可能重复:
创建临时文件夹

我正在寻找类似于tempfilePython中的模块的东西:一种(最好)安全的方式来打开文件进行写入.当我完成时,这应该很容易删除...

看起来,.NET没有tempfile模块的"电池包含"功能,它不仅创建文件,而且还将文件描述符(旧学校,我知道......)与路径一起返回.同时,它确保只有创建用户可以访问该文件和什么(mkstemp()我认为):https://docs.python.org/library/tempfile.html


啊,是的,我可以看到.但GetTempFileName确实有一个缺点:在创建文件(调用GetTempFileName创建0字节文件)和打开它(返回GetTempFileName之后)之间存在竞争条件.这可能是一个安全问题,但不适用于我目前的应用......

c# temporary-files

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

如何为文件中的特定变量禁用pylint"未定义变量"错误?

我在C#应用程序中托管IronPython并将主机的API注入全局范围.

我刚刚开始喜欢syntasticvim pylint来检查我的脚本.但是我[E0602, method_name] Undefined variable 'variable_name'对注入变量的所有错误消息感到恼火.

我知道使用# pylint: disable=E0602禁用此错误消息,但我不想仅为某些特定的变量名称削弱一个非常有用的功能.

你怎么处理这个?

目前,我在我的脚本顶部执行此操作:

try:
    host_object = getattr(__builtins__, 'host_object')
except AttributeError:
    pass # oops, run this script inside the host application!!
Run Code Online (Sandbox Code Playgroud)

我真正想做的是:

# pylint: declare=host_object, other_stuff
Run Code Online (Sandbox Code Playgroud)

python pylint

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

如何在CLR UDF中返回nvarchar(max)?

假设以下定义:

/// <summary>
/// Replaces each occurrence of sPattern in sInput with sReplace. This is done 
/// with the CLR: 
/// new RegEx(sPattern, RegexOptions.Multiline).Replace(sInput, sReplace). 
/// The result of the replacement is the return value.
/// </summary>
[SqlFunction(IsDeterministic = true)]
public static  SqlString FRegexReplace(string sInput, string sPattern, 
      string sReplace)
{
    return new Regex(sPattern, RegexOptions.Multiline).Replace(sInput, sReplace);
}
Run Code Online (Sandbox Code Playgroud)

在一个传递nvarchar(max)sInput具有长度> 4000将导致被截断的值(即,在调用此UDF的结果是nvarchar(4000)相对于nvarchar(max).

c# sql-server clr nvarchar

11
推荐指数
1
解决办法
5903
查看次数