小编Joa*_*nge的帖子

是否有性能增益或之前声明所有局部变量的其他原因?

我在代码库和在线中也看到了很多这种风格,如果你有一个带有for循环的函数和if语句,那么只有它们使用的所有变量都没有在它们之外声明.例如:

void process()
{
    int i;
    int count = 100;
    vector3 point;
    vector sum;

    for (i = 0; i < count; ++i)
    {
        import(this, "pos", point);
        sum += point;
    }
    sum /= count;
}
Run Code Online (Sandbox Code Playgroud)

或者这是不成熟的优化?我对C++,C#和Python很感兴趣,这些是我使用的语言,我一遍又一遍地看到它们.

c# c++ python optimization performance

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

如何并行化/异步此方法?

我正在尝试以不阻塞程序的方式编写此代码。client.Spot.Market.GetKlinesAsync 支持 await 但不确定如何构建代码以便等待。

public static async Task GetMinMaxValues ( BinanceClient client, ObservableCollection<Coin> coins )
{
    foreach ( var coin in coins )
    {
        var task = client.Spot.Market.GetKlinesAsync ( coin.SymbolPair, KlineInterval.OneDay );
        coin.MinVal = klines.Result.Data.Select ( k => k.Low ).Min ( );
        coin.MaxVal = klines.Result.Data.Select ( k => k.High ).Max ( );
    }
}
Run Code Online (Sandbox Code Playgroud)

让我感到困惑的是我如何实现这一点,因为我需要能够计算最小值和最大值。因此,如果我访问 Result,该函数会立即执行,对吗?

所以我无法理解如何并行实现这个计算。

.net c# performance asynchronous async-await

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

如果基本类型是对象,为什么我们不能这样做呢?

所以对于复杂类型,我们可以写:

return new MyType ( 5 );
Run Code Online (Sandbox Code Playgroud)

但是为什么我们不能做类似的东西(为了一个对称):

return new int ( 5 );

return new Int64 ( 5 );
Run Code Online (Sandbox Code Playgroud)

我知道只提供无参数构造函数.这是什么原因?

.net c#

-1
推荐指数
1
解决办法
214
查看次数

属性或属性

我想为每个编写的模块/插件添加一些功能,例如:

作者,公司,日期等

它代表了它的来源和编写者.然后程序员可以在一个DLL中有多个插件.我应该如何实现对这些的支持,以便我可以在主应用程序UI中访问它们?通常,1个插件是一个公共类.

我应该使用属性还是属性?我也应该使用接口吗?

我希望程序员能够填充这些东西,而不是让它成为可选项.

.net c#

-1
推荐指数
1
解决办法
297
查看次数

原子或巨大的

如果您打算在C#中编写一个非常并行的应用程序,那么构建非常小的东西会更好

20个小班,40个更大的班级,共计60个,总共120个

或巨大的:

单独制作这60个课程(仍然考虑到可重用性).

所以在#2中,这60个类可以包含处理事物而不是其他类的方法.

.net c# parallel-processing

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

如何实现Aero的玻璃效果跨平台?

重复:

是否有可能在XP上实现"Aero Glass"外观?


如果我使用Winforms并用它编写win32应用程序,我可以在Vista中看到Aero玻璃效果,但在XP中却看不到.

我怎样才能在不同的平台上实现相同的外观?我正在使用WPF.

作为一个附带问题,微软是否使用WPF编写了Aero玻璃效果?如果是这样,玻璃效果不应该是其他平台上的默认WPF外观吗?

.net c# wpf aero

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

如何将0到1和1映射到-1?

我试图将值0转换为1和1转换为-1,但不使用if语句.我试着做一些数学运算来将它映射到一个新的范围,但我无法为这两个参数做到这一点.

这可行吗?

它必须在没有集合中的硬编码值的情况下执行此操作,例如:

initial = 0 or 1;
final_value = (initial + 1) * -1;
Run Code Online (Sandbox Code Playgroud)

因此,最终值将根据初始值映射到1或-1,使用相同的等式.

编辑:我基本上试图摆脱if声明,因为这是着色器代码和我的朋友在工作(着色程序员)说if声明减慢了执行速度所以最好统一做事.不确定它是否有意义.

c# python math hlsl

-5
推荐指数
2
解决办法
250
查看次数

如何使用extern而不是#include在源文件中使用头文件中的类?

如果我有一个班级outside.h:

class Outside
{
   public:
       Outside(int count);
       GetCount();
}
Run Code Online (Sandbox Code Playgroud)

如何使用extern关键字在framework.cpp中使用它,我需要实例化类并调用GetCount


编辑:

#include 不被允许.

c++ extern

-9
推荐指数
2
解决办法
1759
查看次数