asp.net mvc LINQ,如何比较其他值范围内的值范围
asp.net mvc LINQ, how to compare range of value in other range of value
比较一个范围内的值,如果第一个范围内的任何值在第二个范围内可用,则结果应为假,如果第一个范围在第二个范围内完全不可用,则结果为真。
range 1 = 1 to 100
range 2 = 1 to 200
range 3 = 180 to 300;
range 4 = 301 to 400;
case 1 -> range1 / range2 = false //
case 2 -> range3 / range2 = false //
case 3 -> range4 / range 2 = true
如何用 mvc linq 实现这个
提前致谢。
下面的方法呢:
var firstRange = Enumerable.Range(1, 100);
var secondRange = Enumerable.Range(1, 200);
var thirdRange = Enumerable.Range(180, 300);
var fourthRange = Enumerable.Range(301, 400);
var case1 = !firstRange.Any(element => secondRange.Contains(element));
var case2 = !thirdRange.Any(element => secondRange.Contains(element));
var case3 = !fourthRange.Any(element => secondRange.Contains(element));
Console.WriteLine(case1);
Console.WriteLine(case2);
Console.WriteLine(case3);
你可以这样试试,here是link现场演示。
using System;
using System.Collections.Generic;
using System.Linq;
public class Program
{
public static void Main()
{
var firstRange = Enumerable.Range(1, 100);
var secondRange = Enumerable.Range(1, 200);
var thirdRange = Enumerable.Range(180, 300);
var fourthRange = Enumerable.Range(301, 400);
Console.WriteLine(!IsContainInRange(firstRange, secondRange));
Console.WriteLine(!IsContainInRange(thirdRange, secondRange));
Console.WriteLine(!IsContainInRange(fourthRange, secondRange));
}
private static bool IsContainInRange(IEnumerable<int> range1, IEnumerable<int> range2)
{
return (from r1 in range1
join r2 in range2 on r1 equals r2
select r1).Any();
}
}
比较一个范围内的值,如果第一个范围内的任何值在第二个范围内可用,则结果应为假,如果第一个范围在第二个范围内完全不可用,则结果为真。
range 1 = 1 to 100
range 2 = 1 to 200
range 3 = 180 to 300;
range 4 = 301 to 400;
case 1 -> range1 / range2 = false //
case 2 -> range3 / range2 = false //
case 3 -> range4 / range 2 = true
如何用 mvc linq 实现这个
提前致谢。
下面的方法呢:
var firstRange = Enumerable.Range(1, 100);
var secondRange = Enumerable.Range(1, 200);
var thirdRange = Enumerable.Range(180, 300);
var fourthRange = Enumerable.Range(301, 400);
var case1 = !firstRange.Any(element => secondRange.Contains(element));
var case2 = !thirdRange.Any(element => secondRange.Contains(element));
var case3 = !fourthRange.Any(element => secondRange.Contains(element));
Console.WriteLine(case1);
Console.WriteLine(case2);
Console.WriteLine(case3);
你可以这样试试,here是link现场演示。
using System;
using System.Collections.Generic;
using System.Linq;
public class Program
{
public static void Main()
{
var firstRange = Enumerable.Range(1, 100);
var secondRange = Enumerable.Range(1, 200);
var thirdRange = Enumerable.Range(180, 300);
var fourthRange = Enumerable.Range(301, 400);
Console.WriteLine(!IsContainInRange(firstRange, secondRange));
Console.WriteLine(!IsContainInRange(thirdRange, secondRange));
Console.WriteLine(!IsContainInRange(fourthRange, secondRange));
}
private static bool IsContainInRange(IEnumerable<int> range1, IEnumerable<int> range2)
{
return (from r1 in range1
join r2 in range2 on r1 equals r2
select r1).Any();
}
}