问题列表 - 第3927页

LINQ with subselect和groupby只获取列表中每个项目的最新版本

对于LINQ来说,我是新手......

我有一个IEnumerable通用列表,其中包含不同版本的答案(每个版本都有一个问题的FK).从这个列表中我只需要获得最新版本答案的字典.

一个非常简化的类图:

问题
-ID
-question
- ......其他属性


-ID
-Version
-QuestionID
-值
- ...其他属性

目前我有以下内容:

IEnumerable<Answer> answers = GetAnswers();

IDictionary<long, AnswerDTO> latestVersionAnswers = new Dictionary<long, AnswerDTO>();
if (answers != null)
{
latestVersionAnswers = answers
      .OrderBy(e => e.ID)
      .GroupBy(e => e.Question.ID)
      .Select(g => new AnswerDTO
                        {
                             Version = g.Last().Version, // g.Select(e => e.Version).Max(), 
                             QuestionID = g.Key,
                             ID = g.Last().ID,
                             Value = g.Last().Value
                                 }).ToDictionary(c => c.QuestionID);
        }
Run Code Online (Sandbox Code Playgroud)

虽然这在很大程度上起作用,但您可以很快发现它需要一些严肃的优化(并且有点脆弱,因为它取决于答案记录行顺序而不是"最大"逻辑).使用LINQ执行此操作的最佳方法是什么,或者最好只为每个循环执行多个操作?

  1. 如果我只需要版本(而不是ID,Value等)我就不需要OrderBy,因为我可以去g.Select(e => e.Version).Max()(或者我现在看到C#List <> GroupBy 2值的帖子,但这又会返回key/s和一个属性:Version).
  2. 最终,在这种特殊情况下,我更愿意"过滤"原始列表并返回原始答案项而不是涉及AnswerDTO.

任何指针或帮助将不胜感激!

c# linq lambda

9
推荐指数
2
解决办法
7933
查看次数

特殊IP地址

特别是我正在寻找一个IP地址,我可以将其放入我的hosts文件中,这将破坏给定的DNS名称.现在我正在使用,127.0.0.1但如果我安装了任何服务,这将开始变得奇怪.

如何防止第三方程序联系给定服务器?

standards ip-address magic-numbers

0
推荐指数
1
解决办法
1239
查看次数

JQuery Slider - 幻灯片后调用函数

我有一个JQuery silder,我用它来设置Web应用程序的分数.我特意拥有它,以便用户点击提交按钮,但客户现在希望它更新AJAX风格.

这可以找到,但是滑动函数会在每个动作上调用,所以我的AJAX脚本会在滑块完成移动之前发送一个分数.

JQuery滑块上是否有一个函数在滑块释放时被调用?有没有直接的方法让我查看滑块何时被释放?

谢谢,.

ajax jquery slider

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

如何卸载(重新加载)Python模块?

我有一个长期运行的Python服务器,并希望能够在不重新启动服务器的情况下升级服务.这样做的最佳方法是什么?

if foo.py has changed:
    unimport foo  <-- How do I do this?
    import foo
    myfoo = foo.Foo()
Run Code Online (Sandbox Code Playgroud)

python module reload python-import

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

在不更改Windows系统时钟的情况下伪造时间

有人知道Windows工具向进程报告假日期/时间吗?

显然,有一些Linux程序可用于测试软件将来/在不同时区的反应方式,或触发计划任务而无需实际修改系统时钟.有这样的Windows程序吗?

testing virtualization timezone datetime clock

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

如何跟踪我从哪里泄漏IDisposable对象?

我最近调试了一些有点内存泄漏的代码.这是一个长期运行的程序,作为Windows服务运行.

如果你发现一个戴着IDisposable界面的类,它告诉你它使用的一些资源超出了垃圾收集器为你清理的能力.

它告诉你的原因是你,这个对象的用户现在负责清理这些资源的时间.恭喜!

作为一名尽职尽责的开发人员,.Dispose()当您完成对象以释放这些非托管资源时,您会轻松调用该方法.

完成后,有一个很好的using()模式可以帮助清理这些资源.只是发现哪些确切的物体导致泄漏?

为了帮助追踪这些流氓非托管资源,有什么方法可以查询在任何给定时间点等待处置的对象是什么?

c#

3
推荐指数
1
解决办法
823
查看次数

Java同步静态方法:锁定对象或类

Java教程说:"同一个对象上的两个同步方法的调用不可能交错."

这对静态方法意味着什么?由于静态方法没有关联对象,所以synchronized关键字会锁定类,而不是对象吗?

java methods static class synchronized

144
推荐指数
4
解决办法
10万
查看次数

有什么建议可以让我的项目每次都以新的结账方式编译?

比我更愿意承认我有一个新项目的人做结帐只是发现他们缺少各种资源,dll,设置.我想养成一个正确的习惯,让我的项目编辑顺利,可以从一个新的结账.

有关如何构建项目的一些提示或建议,以便在从版本控制中重新检查时没有编译问题?

我已经开始在我的项目中保留一个"Resources"文件夹,其中包含源代码管理中所有需要的dll引用.其他人可以提出一些建议吗?

.net version-control build-process vcs-checkout

5
推荐指数
1
解决办法
512
查看次数

如何在C#WPF应用程序中使用CaptureMouse或Mouse.Capture?

我希望能够访问鼠标的坐标,无论光标是否在我的应用程序的窗口上.

当我使用Mouse.Capture(IInputElement)或UIElement.CaptureMouse()时,两者都无法捕获鼠标并返回false.

可能是我的问题?

我窗口的cs文件如下:

using System.Windows;
using System.Windows.Input;

namespace ScreenLooker
{
    /// <summary>
    /// Interaction logic for Window1.xaml
    /// </summary>
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();

            bool bSuccess = Mouse.Capture(this);
            bSuccess = this.CaptureMouse();
        }

        protected override void OnMouseMove(MouseEventArgs e)
        {
            tbCoordX.Text = e.GetPosition(this).X.ToString();
            tbCoordY.Text = e.GetPosition(this).Y.ToString();
            //System.Drawing.Point oPoint = System.Windows.Forms.Cursor.Position;
            //tbCoordX.Text = oPoint.X.ToString();
            //tbCoordY.Text = oPoint.Y.ToString();

            base.OnMouseMove(e);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# wpf

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

为什么用"I"前缀C#接口名称

这个命名惯例背后的理由是什么?

我没有看到任何好处.额外的前缀只会污染API.

我的想法是内嵌康拉德的响应该相关问题 ; 所选择的答案主要是我在这里要求的.

c# interface naming-conventions

29
推荐指数
7
解决办法
7652
查看次数