如何使用linqfind最小值

我有一个class A { public float Score; … } class A { public float Score; … }和一个IEnumerable<A> items并希望findA分数最低。 使用items.Min(x => x.Score)给出了最低分数,而不是最低分数的实例。 我怎样才能通过我的数据迭代一次获得实例? 编辑 :只要有三个主要的解决scheme: 写一个扩展方法(由Svish提出)。 优点 :易于使用和评估每个项目只有一次分数。 缺点 :需要扩展方法。 (我为我的应用程序select了这个解决scheme。) 使用Aggregate(由Daniel Renshaw提出)。 优点 :使用内置的LINQ方法。 缺点 :对未经训练的眼睛稍微混淆,并多次呼叫评估者。 实现IComparable(由cyberzed提出)。 优点 :可以直接使用Linq.Min。 缺点 :固定为一个比较器 – 执行最小计算时不能自由select比较器。

wpf:DataGrid禁用选定的行样式 – 或行select

我看到了很多关于如何在DataGrid中选定行的样例,例如: 如何设置DataGrid中选定行的颜色 我可以只禁用选定的行样式吗? 我不想重写select行更改的每一件事情。 只是不想要任何可见的变化。 比创build模板更容易 要么.. 禁用select行,如果这更容易..但从浏览这个论坛,似乎hacky以及 禁用在WPF DataGrid中select

升级到Java 6的非技术决策者(在客户端)的原因和优点

我想从Java 5升级到Java 6.我们都知道技术上的优势和好处,但是: 我有一个问题,一个主要客户拒绝从java 5升级到java 6,因为“风险”和“对我们来说没有/太less好处”(银行部门)。 对于客户端的非技术性决策者来说,什么可以回答他将从升级中得到什么好处 – 否则,如果他将继续使用Java 5,可能会出现哪些问题/后果? 这不是一个“消失和忘记”的产品,它是积极扩展的新function/特性 – 开发将会不断发展 – 开发团队将明确从jdk 6特性/工具中受益。 编辑: Java 5到达的EOL确实是一个有效的点,但它并没有说服客户端,因为他正在使用IBM JRE / JDK 5 ,这似乎还没有达到其生命的尽头 。 除此之外,客户表示:“Java 5运行良好多年,不可能出现新的,看不见的问题”

在Git / Mercurial中,我可以安全地忽略哪些Eclipse项目.metadata?

我们在包含多个Java项目的Eclipse工作区中拥有Eclipse RCP应用程序的代码。 我们正在使用一个简单的.hgignore只是* .class(但同样的问题将适用于Git)的Mercurial。 即使对代码进行小的更改也会导致.metadata中的许多文件发生更改。 我想从版本控制中排除部分或全部.metadata。 如果我们完全排除它,工作空间就会丢失。 有谁知道我们可以安全排除? 另外,如果我们把代码放到新的计算机上,又怎么能重新创build呢?

在Oracle列上,HQL“null”和“!= null”

hibernate转换HQL的 column != null column is null SQL中 column is null ?

哈斯克尔图书馆2D绘图

我基本上想创build一个全屏窗口,并以不同的颜色和大小绘制文本(并更新屏幕)。 我在Python中使用pygame,我正在寻找一个类似的库(应该相当容易使用)。 +1如果它也处理input…

撤消vim中打开缓冲区以来的所有更改

如何从打开缓冲区撤消所有更改? 我想可能有某种forms:earlier这样做。 更新 :许多人build议解决scheme遍历到早期的文件写入。 这不是我要求的。 我希望返回到最初将文件加载到缓冲区时的原始状态,不pipe从那时起有多less次写入。

如何从双/嵌套循环中的主/外循环中断开?

如果我有一个循环循环,一旦语句满足,我想打破主循环,我该怎么做呢? 这是我的代码: for(int d = 0; d < amountOfNeighbors; d++){ for(int c = 0; c < myArray.size(); c++){ if(graph.isEdge(listOfNeighbors.get(d), c)){ if(keyFromValue(c).equals(goalWord)){ // once this is true I want to break main loop. System.out.println("We got to GOAL! It is "+ keyFromValue(c)); break; // this breaks second loop not main one. } } } }

如何导航到相同的父母状态

从我从Gmail和TED应用程序观察到的向上导航的行为,它将导航到具有相同状态(滚动位置)的父母,而不像Google在他们的文档“ 实现向上导航”中所说的那样,就像创build父母意图并启动它。 我从Android示例代码实现了代码,并且所有的状态都不见了(所有额外的参数,我以前设置和滚动的位置)。 什么是正确的方法呢? 我无法find任何Android文件。 以下是代码: public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: Intent upIntent = new Intent(this, MyParentActivity.class); if (NavUtils.shouldUpRecreateTask(this, upIntent)) { // This activity is not part of the application's task, so create a new task // with a synthesized back stack. TaskStackBuilder.from(this) .addNextIntent(new Intent(this, MyGreatGrandParentActivity.class)) .addNextIntent(new Intent(this, MyGrandParentActivity.class)) .addNextIntent(upIntent) […]

如何在angular度路由中传递查询string?

我正在使用AngularJS路线,并试图查看如何使用查询string(例如, url.com?key=value )。 Angular不理解包含相同名字albums的键值对的路线: angular.module('myApp', ['myApp.directives', 'myApp.services']).config( ['$routeProvider', function($routeProvider) { $routeProvider. when('/albums', {templateUrl: 'albums.html', controller: albumsCtrl}). when('/albums?:album_id', {templateUrl: 'album_images.html', controller: albumsCtrl}). otherwise({redirectTo: '/home'}); }], ['$locationProvider', function($locationProvider) { $locationProvider.html5Mode = true; }] );