我需要找出两条线是否相互重叠.如果两条线是并行的,我有一个返回0的交叉码.但后来我需要知道这两条平行线是否重叠.
编辑:
A C B D
-----------------------------------------------
Run Code Online (Sandbox Code Playgroud)
第1行:AB
第2行:CD
我需要找到第1行是否与第2行重叠,但两条线的斜率都可以> 0.
我想获取T使用它的类型名称:
typeof(T).Name
Run Code Online (Sandbox Code Playgroud)
这个班的名字是 ConfigSettings
而不是返回ConfigSettings它返回ConfigSettings`1.
有什么具体原因吗?如何在没有的情况下返回实际名称`1?
我有两个for循环从列表中删除项目.我正在寻找这些循环的等效LINQ语句
for (Int32 i = points.Count - 1; i >= 0; i--)
{
for (Int32 j = touchingRects.Count - 1; j >= 0; j--)
{
if (touchingRects[j].HitTest(points[i], rect.TopEdge.Y1))
{
points.RemoveAt(i);
}
}
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,我能够做到这一点,但编译器不理解这段代码:
points.RemoveAll(p => touchingRects.Where(r => r.HitTest(p, r.TopEdge.Y1)));
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.
我绝对是Linq的初学者.我有一个for循环,我想转换为Linq语句.该循环基本上对正在击中边缘的矩形执行命中测试.它不包括矩形.
private List<Rectangle> GetTouchingRects(List<Rectangle> rects, Edge edgeToCheck, Rectangle exclude)
{
List<Rectangle> hittingRects = new List<Rectangle>();
foreach (Rectangle rect in rects)
{
if (rect != exclude)
{
if (rect.Touch(edgeToCheck))
{
hittingRects.Add(rect);
}
}
}
return hittingRects;
}
Run Code Online (Sandbox Code Playgroud)
我可以编写非常基本的Linq查询,但我不知道这个.我主要对如何检查排除检查以及如何执行命中测试感到困惑.
任何帮助将不胜感激.