Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用Linq查询查找冲突_C#_Linq - Fatal编程技术网

C# 使用Linq查询查找冲突

C# 使用Linq查询查找冲突,c#,linq,C#,Linq,我有一个表,它有一个StartTime列DateTime类型。如果两行之间少于10分钟,我应该认为这两行是冲突的。我想知道的是检查冲突并用linq查询显示它们 谢谢你的帮助,我可能会这样做:(虽然这是在规定的时间内) var diff=从x开始的时间 从《时代》杂志 选择(x-y)。总分钟数; 任何返回差(x=>x(i>0)和(&(x.Field(“time”)-dt.Rows[i-1]。Field(“time”))。总分钟数x.Field(“time”)。ToList(); } } } 请向我

我有一个表,它有一个StartTimeDateTime类型。如果两行之间少于10分钟,我应该认为这两行是冲突的。我想知道的是检查冲突并用linq查询显示它们

谢谢你的帮助,我可能会这样做:(虽然这是在规定的时间内)

var diff=从x开始的时间
从《时代》杂志
选择(x-y)。总分钟数;
任何返回差(x=>x<10);

对于n-logn时间,最好先排序,然后按对比较,而LINQ在这方面有点过分。

在这种情况下,LINQ不是最好的方法。可能创建for循环更好。但这是代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("time", typeof(DateTime));

            dt.Rows.Add(new object[] { new DateTime(2017, 1, 1, 1, 0, 0) });
            dt.Rows.Add(new object[] { new DateTime(2017, 1, 1, 1, 5, 0) });
            dt.Rows.Add(new object[] { new DateTime(2017, 1, 1, 1, 20, 0) });
            dt.Rows.Add(new object[] { new DateTime(2017, 1, 1, 1, 25, 0) });
            dt.Rows.Add(new object[] { new DateTime(2017, 1, 1, 1, 30, 0) });
            dt.Rows.Add(new object[] { new DateTime(2017, 1, 1, 1, 40, 0) });
            dt.Rows.Add(new object[] { new DateTime(2017, 1, 1, 1, 45, 0) });
            dt.Rows.Add(new object[] { new DateTime(2017, 1, 1, 1, 50, 0) });
            dt.Rows.Add(new object[] { new DateTime(2017, 1, 1, 1, 56, 0) });
            dt.Rows.Add(new object[] { new DateTime(2017, 1, 1, 1, 58, 0) });

            List<DateTime> times = dt.AsEnumerable().Where((x, i) => (i > 0) && (x.Field<DateTime>("time") - dt.Rows[i - 1].Field<DateTime>("time")).TotalMinutes < 10).Select(x => x.Field<DateTime>("time")).ToList();

        }
    }
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用系统数据;
命名空间控制台应用程序1
{
班级计划
{
静态void Main(字符串[]参数)
{
DataTable dt=新的DataTable();
添加(“时间”,类型(日期时间));
Add(新对象[]{newDateTime(2017,1,1,0,0)});
Add(新对象[]{newDateTime(2017,1,1,5,0)});
Add(新对象[]{newdatetime(2017,1,1,1,20,0)});
Add(新对象[]{newDateTime(2017,1,1,25,0)});
Add(新对象[]{newdatetime(2017,1,1,1,30,0)});
Add(新对象[]{newdatetime(2017,1,1,1,40,0)});
Add(新对象[]{newdatetime(2017,1,1,1,45,0)});
Add(新对象[]{newdatetime(2017,1,1,1,50,0)});
Add(新对象[]{newdatetime(2017,1,1,1,56,0)});
Add(新对象[]{newdatetime(2017,1,1,1,58,0)});
列表时间=dt.AsEnumerable()。其中((x,i)=>(i>0)和(&(x.Field(“time”)-dt.Rows[i-1]。Field(“time”))。总分钟数<10)。选择(x=>x.Field(“time”)。ToList();
}
}
}

请向我们展示一些您尝试过的代码,以便我们为您提供帮助。还向我们展示一些必须从数据库中提取的内容
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("time", typeof(DateTime));

            dt.Rows.Add(new object[] { new DateTime(2017, 1, 1, 1, 0, 0) });
            dt.Rows.Add(new object[] { new DateTime(2017, 1, 1, 1, 5, 0) });
            dt.Rows.Add(new object[] { new DateTime(2017, 1, 1, 1, 20, 0) });
            dt.Rows.Add(new object[] { new DateTime(2017, 1, 1, 1, 25, 0) });
            dt.Rows.Add(new object[] { new DateTime(2017, 1, 1, 1, 30, 0) });
            dt.Rows.Add(new object[] { new DateTime(2017, 1, 1, 1, 40, 0) });
            dt.Rows.Add(new object[] { new DateTime(2017, 1, 1, 1, 45, 0) });
            dt.Rows.Add(new object[] { new DateTime(2017, 1, 1, 1, 50, 0) });
            dt.Rows.Add(new object[] { new DateTime(2017, 1, 1, 1, 56, 0) });
            dt.Rows.Add(new object[] { new DateTime(2017, 1, 1, 1, 58, 0) });

            List<DateTime> times = dt.AsEnumerable().Where((x, i) => (i > 0) && (x.Field<DateTime>("time") - dt.Rows[i - 1].Field<DateTime>("time")).TotalMinutes < 10).Select(x => x.Field<DateTime>("time")).ToList();

        }
    }
}