小编tzu*_*zup的帖子

三个点内形成三角形的整数点数是多少?

实际上,这是一个典型的问题,因为SO用户Victor提出了这个问题(在另一个关于在面试中要询问哪些任务的问题).

我不能在一小时(叹气)做到这一点,那么计算三角形内整数点数的算法是什么?

编辑:假设顶点在整数坐标处.(否则它成为一个问题,即找到三角形内的所有点,然后减去所有浮点只剩下整数点;一个不太优雅的问题).

algorithm geometry

29
推荐指数
5
解决办法
2万
查看次数

什么是中性语言设置?

您可以找到访问的设置:

WinForms应用程序属性 - >应用程序 - >程序集信息 - >中性语言

configuration winforms

24
推荐指数
2
解决办法
8057
查看次数

如何在WinForm应用程序中获取最顶层表单的句柄?

我有一个WinForm应用程序,其他子窗体(不是mdi).如果用户按下"Esc",即使没有焦点,也应关闭最上面的表格.

我可以使用键盘钩来全局捕捉Escape但我还需要关闭表单的句柄.

我想有一种方法可以使用Win32 API,但有一个使用托管代码的解决方案?

c# winapi topmost winforms

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

.Net中的自我描述类型究竟是什么意思?

鉴于 MSDN文章,我们了解到.Net 中的Common Type System具有以下引用类型分类:

"引用类型可以是自描述类型,指针类型接口类型.引用类型的类型可以从自描述类型的值确定.自描述类型进一步分为数组类类型."

  1. 因此,例如,数组是一种自描述类型,因为我们可以从其值中确定其类型?
  2. 怎么样?
  3. 是这样,还是这个定义还有更多?

.net types

7
推荐指数
1
解决办法
1305
查看次数

我创造了一个修改过的pacman,如何让他喘不过气来?

我创造了一个改装的Pacman,但是我想在Pacman的口中添加一个火弩射击.我的代码是:

namespace TestingPacman
{
    class Firebolt
    {
        Bitmap firebolt0 = null;
        Bitmap firebolt1 = null;    

        public Point fireboltposition;
        int fireboltwidth = 0;
        int fireboltheight = 0;
        public Firebolt(int x, int y)
        {
            fireboltposition.X = x;
            fireboltposition.Y = y;    
            if (firebolt0 == null)
                firebolt0 = new Bitmap("firebolt0.gif");    
            if (firebolt1 == null)
                firebolt1 = new Bitmap("firebolt1.gif");    
            int fireboltwidth = firebolt0.Width;
            int fireboltheight = firebolt0.Height;
        }

        public Rectangle GetFrame()
        {
            Rectangle Labelrec = new Rectangle(fireboltposition.X, fireboltposition.Y, fireboltwidth, fireboltheight);
            return Labelrec;
        }

        public void …
Run Code Online (Sandbox Code Playgroud)

.net c# winforms

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

如何重构此例程以避免使用递归?

所以我在C#中编写了一个mergesort作为练习,虽然它有效,但回顾代码,还有改进的余地.

基本上,算法的第二部分需要例程来合并两个排序列表.

这是我太长的实现,可以使用一些重构:

private static List<int> MergeSortedLists(List<int> sLeft, List<int> sRight)
{
    if (sLeft.Count == 0 || sRight.Count == 0)
    {
        sLeft.AddRange(sRight);
        return sLeft;
    }
    else if (sLeft.Count == 1 && sRight.Count == 1)
    {
        if (sLeft[0] <= sRight[0])
            sLeft.Add(sRight[0]);
        else
            sLeft.Insert(0, sRight[0]);
        return sLeft;
    }
    else if (sLeft.Count == 1 && sRight.Count > 1)
    {
        for (int i=0; i<sRight.Count; i++)
        {
            if (sLeft[0] <= sRight[i])
            {
                sRight.Insert(i, sLeft[0]);
                return sRight;
            }
        } …
Run Code Online (Sandbox Code Playgroud)

c# algorithm refactoring mergesort

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