合并两个IEnumerable <T>

我有两个IEnumerable<T> s。 一个充满了后备ellements。 这一个将永远包含最多的元素。 另一个将根据一些参数得到填充,并可能包含更less的元素。 如果第二个元素不存在,我需要用第一个元素填充它。 此代码完成这项工作,但感觉效率低下,并要求我将IEnumerables投给IList或使用临时列表Person实现IEquatable IEnumerable<Person> fallBack = Repository.GetPersons(); IList<Person> translated = Repository.GetPersons(language).ToList(); foreach (Person person in fallBack) { if (!translated.Any(p=>p.equals(person))) translated.add(person); } 有什么build议么?

通用类的文件名约定

我希望能够区分类的通用和常规(非通用)版本。 就像.NET框架一样,它是它的几个接口和集合类的通用和非通用版本。 ( 队列 , 队列(T) ) 我通常喜欢遵循每个文件一个类的约定(如在Java中)。 命名包含单个generics类的文件是否有一个通用约定? 我主要感兴趣的是Windows(特别是NTFS),但是看起来好像是一个很好的约定(至less是一点点)。

使用VI,VIM或GVIM作为IDE

我不得不在工作中使用VS2008来处理大量的项目,但是每当奇数文本文件需要编辑时,我都会使用VIM。 现在我知道有插件,不能使VIM像IDE一样工作,所以我想知道是否有人真的把它用作IDE? 编辑: 对于那些认为自己代表大众说VIM不应该用作IDE的人,请考虑在vim.org官方function请求列表中 ,IDEfunction是头号function请求。

我发现JPA,或类似的,不鼓励DAO模式

我发现JPA,或类似的,不鼓励DAO模式。 我不知道,但我觉得这样,尤其是服务器pipe理的JTA经理。 经过充分的动手使用DAO模式,我开始围绕这种模式devise基于JPA的应用程序。 但它不适合,国际海事组织。 我倾向于失去相当JPA和所有function。 那么,假设你用一个悲观的locking激发了一个查询,并且从DAO方法返回了一个entite列表。 返回时,事务结束并locking消失(服务器pipe理的JTApipe理器的情况)。 所以,没有意义,松散地说。 但是有一些有效的例子。 另一个例子是更微不足道的。 假设你启动了一个查询来获得一个实体,它与其他实体有一个延迟的加载一对多的关联。 在返回DAO方法后,事务结束。 延迟加载不会工作了,你只是得到null或什么的。 为了应付这个问题,我们手工加载它。 我们做一些像a.getBList().size() 。 因此,IMO最好不要专门制作一个DAO,并且在你的商业bean中这样做,这样你就可以利用这些有用的特性。 或者ORM API可以被认为是一个DAO /数据层本身。 所以,我们不需要再做一个。 你们都在想什么? 注:我绝对不会说DAO模式已经过时。 事实上,这取决于情况。

如果我的传入date格式是YYYYMMDD,则在.NET中将string转换为date

如果我的传入date格式是YYYYMMDD那么在C#中将string转换为date的最佳方法是什么? 例如: 20001106

drawRect不会在我的UIImageView的子类中被调用

我已经subclassed UIImageView,并试图重写drawRect,所以我可以使用Quartz 2D绘制图像的顶部。 我知道这是一个愚蠢的新手问题,但我没有看到我做错了什么。 界面如下: #import <UIKit/UIKit.h> @interface UIImageViewCustom : UIImageView { } – (void)drawRect:(CGRect)rect; @end 并执行: #import "UIImageViewCustom.h" @implementation UIImageViewCustom – (id)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { } return self; } – (void)drawRect:(CGRect)rect { // do stuff } – (void)dealloc { [super dealloc]; } @end 我在drawRect上设置了一个断点,它从来没有命中,导致我认为它永远不会被调用。 当视图第一次加载时不应该调用它吗? 我错误地重写了它吗?

IE8支持哪些Javascript版本?

根据维基百科,IE8只支持Javascript 1.5。 所以他们说IE8完全忽略了Javascript版本1.6,1.7,1.8和1.9。 我应该相信吗? 这是真的吗?

在excel中的子string

我有一组数据在Excel中显示如下。 R/V(208,0,32) YR/V(255,156,0) Y/V(255,217,0) R/S(184,28,16) YR/S(216,128,0) Y/S(209,171,0) R/B(255,88,80) YR/B(255,168,40) Y/B(255,216,40) 我想分开每个单元格中的数据看起来像这样。 R/V 208 0 32 R/S 184 28 16 R/B 255 88 80 在这种情况下我可以使用什么function在Excel中。 先谢谢你。

stream行的PHP CMS的历史安全缺陷?

我正在创build一个PHP CMS,我希望将会被公众使用。 安全是一个主要的问题,我想学习一些stream行的PHP CMS,如Wordpress,Joomla,Drupal等。他们在过去有什么样的安全漏洞或漏洞,我可以避免在我的应用程序我可以用什么策略来避免呢? 还有什么其他的问题需要我们关注,他们可能没有把这个漏洞当作漏洞,因为他们从一开始就正确地处理了这个漏洞。 什么额外的安全特性或措施,你会包括从细微的细节到系统级别的安全方法? 请尽可能具体。 我通常意识到大多数通常的攻击媒介,但是我想确保所有的基础都被覆盖,所以不要害怕提及明显的。 假设PHP 5.2+。 编辑 :我正在改变这个社区维基。 尽pipeArkh的优秀答案被接受了,但是如果你有他们的话,我仍然对更多的例子感兴趣。

Jquery-UI对话框 – 在没有DIV的情况下

我有我怀疑是一个简单的问题,经过search,我怀疑我的问题的答案是否定的,但要仔细检查… 有没有可能使用Jquery的ui对话框出去build立一个DIV? 即,而不是.. $(function() { $( "#dialog" ).dialog();});… <div id="dialog" title="Do I really need this?">This is a lot of typing just to pass on a simple message</div> 是否有可能只是有像… $(function(quickly) { $( "#dialog" ).dialog('this would be much easier');});… 并在需要时用快速()types的东西来调用它。 您可能会注意到,我可能会通过JavaScript混淆,并尝试通过反复试验find适用于我的解决scheme。 我想,我问我是否可以以类似的方式使用对话框… alert("this is simple") …所以我可以调用一个警报给用户,只要我需要,而不是在url点击或button按下。 希望以上是有道理的,我会怀疑我将不得不坚持丑陋的标准警报,但是让我知道如果有一个简单的解决scheme。 谢谢