小编7Vo*_*yon的帖子

Visual C#Beginner Empty Project帮助?

我是Visual Studio的初学者,我可以很好地从项目和控制台项目创建Windows,但我无法编译空项目,

我采取的步骤是:

  1. 创建一个空项目.
  2. 添加一个类,添加对System和System.Windows.Forms的引用
  3. 将以下代码放在类中:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    namespace Circles
    {
        class Program
        {
            static void Main(string[] args)
            {
                MessageBox.Show("Hello World!");
    
            }
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

然后我点击编译,它给了我这个错误:

错误1程序'D:\ C#\ Projects\Circles\Circles\obj\x86\Debug\Circles.exe'不包含适用于入口点的静态'Main'方法Circles

属性构建操作设置为编译,但项目属性中的启动对象未设置,这是否导致问题,如果是,我该怎么办?

编辑:问题已解决,请参阅下面的CharithJ的答案.多谢你们.

.net c# winforms

6
推荐指数
2
解决办法
4699
查看次数

将C#库移植到Windows Phone 8?

我正在使用Math.NET Neodym库为Visual C#上的winforms应用程序项目.

这是项目的链接:Math.NET Neodym 现在,我想把它移植到Windows Phone 8,当在WP8 SDK中添加对库的引用时,我得到一个错误:

无法添加对更高版本或不兼容程序集的引用

现在,我之前已经问过这个问题,并且我被告知我可以通过重新编译将库移植到WP8.而且我不知道怎么做?我只是将每个文件从库中复制粘贴到一个新的WP8库项目并编译吗?

c# winforms windows-phone-8

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

C#方法语句未按正确顺序执行

我似乎在以正确的顺序执行命令时遇到问题,我的程序中有一个方法:

private void  GenerateButton_Click(object sender, EventArgs e)
{
    Statuslabel.Text = "Working...";

    LongMethod();
    //Call to another Method of another class which takes 15-20 seconds to execute

    Statuslabel.Text = "Done";
}
Run Code Online (Sandbox Code Playgroud)

问题似乎是,不是将"Working"分配给状态标签,然后调用LongMethod,而程序似乎先执行LongMethod(),然后将状态标签的文本更改为"工作"一瞬间,然后立即将其更改为"完成".哦,在LongMethod()执行期间UI被锁定,因为程序是SingleThreaded.

我之前尝试过线程,但是对于我的生活,我无法正确使用语法,我尝试过:

Thread MyThread = new Thread(LongClass.LongFunction);

Thread MyThread = new Thread(new ThreadStart(LongClass.LongFunction));
Run Code Online (Sandbox Code Playgroud)

LongClass包含LongFunction静态方法的类在哪里?我现在将检查后台工作人员.

c#

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

在类定义中的方法声明之前使用双冒号(::)

我有一个由第三方编写的课程,它有类似这样的Foo.h:

class Foo
{
public:
    int Foo::dosomething(float x, float y, float z);

    //Other things here
};
Run Code Online (Sandbox Code Playgroud)

在Foo.cpp中,dosomething是:

int Foo::dosomething(float x, float y, float z)
{    
    //Something
}
Run Code Online (Sandbox Code Playgroud)

什么是::标头中的函数名前是什么意思?当我创建一个新对象

Foo foo;
Run Code Online (Sandbox Code Playgroud)

我不能像这样访问dosomething函数:

foo.dosomething(1,2,3);
Run Code Online (Sandbox Code Playgroud)

dosomething是如何被访问的?当我在dosomething之前删除头文件中的::时:

class Foo
{
public:
    int dosomething(float x, float y, float z);

    //Other things here
};
Run Code Online (Sandbox Code Playgroud)

我可以从类型为Foo的对象访问dosomething.

c++ oop msvc12

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

单元测试功能非常简单

说我有一个简单的形式功能:

def square(x):
    return x**2
Run Code Online (Sandbox Code Playgroud)

如果我为测试正确性编写单元测试,那么做以下事情是不好的做法:

def test_square(self):
        for _ in range(50):
            rand_num = random.uniform(-10,10)
            self.assertAlmostEqual(square(rand_num), rand_num**2, msg= "Failed for input: {}".format(rand_num))
Run Code Online (Sandbox Code Playgroud)

在哪里基本上不是编写手工案例,我在某种意义上重写了单元测试中的功能?为什么或为什么这不被视为良好做法.

我假设有其他测试检查无效的输入和东西; 我问的是测试函数正确性的具体情况.

python unit-testing

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

为什么我的for循环会在双打矢量上崩溃?

这个for循环总是立即崩溃:

for (auto i = v.size() - 1; i >=0; --i);
Run Code Online (Sandbox Code Playgroud)

显然,我在循环中有一整堆代码,而v是双精度矢量.我试图以相反的顺序迭代它们.

这里发生了什么?

c++

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

标签 统计

c# ×3

c++ ×2

winforms ×2

.net ×1

msvc12 ×1

oop ×1

python ×1

unit-testing ×1

windows-phone-8 ×1