小编Blu*_*eft的帖子

如何使用Lambda表达式对对象内的INTEGERS进行排序?

我有一个对象的集合,我知道我可以按照NAME(字符串类型)排序

collEquipment.Sort((x, y) => string.Compare(x.ItemName, y.ItemName));
Run Code Online (Sandbox Code Playgroud)

这样可行.

但我想按ID(整数类型)排序,并且没有Int32.Compare这样的东西

那我该怎么做?这不起作用

collEquipment.Sort((x, y) => (x.ID < y.ID));  //error
Run Code Online (Sandbox Code Playgroud)

我知道答案很简单.Lambda的表达让我很困惑.

c# collections lambda

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

将mem_fun_ref与boost :: shared_ptr一起使用

按照这个页面的建议,我试图让shared_ptr调用IUnknown :: Release()而不是delete:

IDirectDrawSurface* dds;
... //Allocate dds
return shared_ptr<IDirectDrawSurface>(dds, mem_fun_ref(&IUnknown::Release));
Run Code Online (Sandbox Code Playgroud)

错误C2784:'std :: const_mem_fun1_ref_t <_Result,_Ty,_Arg> std :: mem_fun_ref(_Result(__ thishisall _Ty ::*)(_ Arg)const)':无法推断'_Result的模板参数(__thiscall _Ty ::*) (_Arg)const'from'ULONG(__ cdecl IUnknown ::*)(void)'

错误C2784:'std :: const_mem_fun_ref_t <_Result,_Ty> std :: mem_fun_ref(_Result(__ thishisall_Ty ::*)(void)const)':无法推断'_Result的模板参数(__thiscall _Ty ::*)(void )'''来自'ULONG(__ cdecl IUnknown ::*)(void)'

错误C2784:'std :: mem_fun1_ref_t <_Result,_Ty,_Arg> std :: mem_fun_ref(_Result(__ thiscall _Ty ::*)(_ Arg))':无法推断出'_Result(__thiscall _Ty ::*)的模板参数( _Arg)'from'ULONG(__ cdecl IUnknown ::*)(void)'

错误C2784:'std :: mem_fun_ref_t <_Result,_Ty> std :: mem_fun_ref(_Result(__ thishisall _Ty ::*)(void))':无法推断'_Result的模板参数(__thiscall _Ty ::*)(void) 'from'ULONG(__ cdecl IUnknown ::*)(void)' …

c++ directx boost shared-ptr

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

数学问题

我有以下功能:

function getLevel(points)
{
  var level = -1 + Math.sqrt(4 + points/20);

  // Round down to nearest level
  return Math.floor(level);
}
Run Code Online (Sandbox Code Playgroud)

上面的函数根据他们的积分来计算玩家的等级,我的问题是我需要这样的函数来计算给定等级所需的点数.

javascript math algebra

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

C ++ / CLI串口发送命令

我这里有硬件,它可以通过串行端口进行通信。我使用MS Visual C ++ 2010,并且要发送命令:<-S->

我正在这样做:

SerialPort^ serialPort = gcnew SerialPort(portName , 9600, Parity::None, 8, StopBits::One);
serialPort->Open();
serialPort->WriteLine("<-S->");
serialPort->Close();
Run Code Online (Sandbox Code Playgroud)

但是发出的命令是<-S->.,而不是<-S-> (请注意传出命令的附加点)。我使用免费的串行端口监视器来监视我的传入/传出数据。

那么我该如何摆脱这一点<-S->.呢?

这是怎么回事:

3C 2D 53 2D 3E 0A = <-S->。

这就是我要的:

3C 2D 53 2D 3E = <-S->

感谢帮助。

c++-cli visual-studio-2010

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

steamkit如何工作?

目前,我想实现蒸汽游戏的交易系统(使用python).

所以,我搜索了github,但遗憾的是,只有

https://github.com/Jessecar96/SteamBot

https://github.com/Jessecar96/SteamKit2

是的,他们工作得很好.但他们是C# - 不要告诉我python不能这样做:).

所以,我想从steamkit部分开始.我认为这并不困难(也许只是一些web-apis),但是当我有点回顾SteamKit2的代码时,我发现似乎使用TcpConnection来访问Steam网络,不知道他们是如何获得协议的.

有没有人对此有任何想法,我想使用python加载steamkit2.dll,但我真的菜鸟与C#

python c#-4.0 steam-web-api steam steambot

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

python字符串连接问题

我有一些代码,我将连接应用于列表.加入前的列表如下所示:

["'DealerwebAgcy_NYK_GW_UAT'","'DealerwebAgcy'","'UAT'","@ ECNPhysicalMarketCo nfigId","'GATEWAY'","'DEALERWEB_MD_AGCY'","'NU1MKVETC'","'mkvetcu'"," 'C:\ te mp'",'0',''NYK'",'0','1',''isqlw.exe'','GetDate()','12345','''NYK'" ,'350','7']

在连接之后,这是结果字符串

'DealerwebAgcy_NYK_GW_UAT','DealerwebAgcy','UAT',@ ECNPhysicalMarketConfigId,'GAT EWAY','DEALERWEB_MD_AGCY','NU1MKVETC','mkvetcu','C:emp',0,'NYK',0,1,'isqlw .exe文件",GETDATE(),12345, 'NYK',350,7

注意最终的元素'C:\temp''C: emp',

我在python命令提示符上尝试了类似的东西,但我无法重复此操作.

负责这种魔力的相关代码如下.

values_dict["ECNMarketInstance"]  = [strVal(self.EcnInstance_),strVal      (self.DisplayName_) ,strVal(self.environment_), '@ECNPhysicalMarketConfigId',strVal(self.EcnGatewaTypeId_),strVal(self.ConnectionComponent_),strVal(self.UserName_),strVal(self.Password_),strVal(self.WorkingDir_),"0",strVal(self.region_),"0","1", strVal(self.LUVersion_), "GetDate()" ,  self.LUUserId_,strVal(self.LUOwningSite_),self.QuoteColumnId_ , self.Capabilities_]

delim = ","
joined = delim.join(values) 
print values
print joined
Run Code Online (Sandbox Code Playgroud)

python string list

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

如何编码文本blob?Base64编码?别的什么?

我有一个像这样的字符串H0TCxoL9HSXXwlwXgBJAAAaiAAACBAW0AQMDAAEBBAIA这是什么格式的?下面是一些更多的字符串.我认为是base64,但当我解码时,我得到的字符串就像D ????&?? _?P @

H0TCxoL9HSbXwl+NUBBAAHISAABIVFRQLzEuMSAyMDAgT0sNCkRhdGU6IE1vbiwgMjEgSnVuIDIwMTAgMDk6NTI6NTMgR01UDQpTZXJ2ZXI6IE1pY3Jvc29mdC1JSVMvNi4wDQpQM1A6IENQPSJBTEwgQ1VSYSBBRE1hIERFVmEgVEFJYSBPVVIgQlVTIElORCBQSFkgT05MIFVOSSBQVVIgRklOIENPTSBOQVYgSU5UIERFTSBDTlQgU1RBIFBPTCBIRUEgUFJFIExPQyBPVEMiDQpYLVBvd2VyZWQtQnk6H0TCxoL9Hz7Xwl+NUBBAAFJ7AAAibm8tY2FjaGUiPiA8SFRNTD48Ym9keSBvbmxvYWQ9IndpbmRvdy5BWC5FeGVjKCdjdHl6Z0hsaWVUMkJqY254ZVBlM0p6M21ycjgzSlI0UmEwSVg3SXQyRFpaaGl4U2laNnJBaVZuU3JqVmQ4TDZrNXNQKEh6SFJ6TUJIRW5jcChic0Jqem9QcGx5aEJ1KHE2ajV1eG1nTVlWbDJTYTg1Y3B1cCluRXBNbUNxT0hiQUwpNlhvZGt6YUhyKGdCcHdram5IZFBSKVUzOEJTH0TCxoL9IVbXwl+NUBBAAOpdAAB4dC9qYXZhc2NyaXB0Jz52YXIgYjY0PSdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvPSc7U3RyaW5nLnByb3RvdHlwZS5BQT1mdW5jdGlvbigpe3ZhciBvMSxvMixvMyxoMSxoMixoMyxoNCxiaXRzLGQ9W10scGxhaW4sY29kZWQ7Y29kZWQ9dGhpcztmb3IodmFyIGM9MDtjPGNvZGVkLmxlbmd0H0TCxoL9I27Xwl+NUBBAAI+3AABDaGFyQ29kZShvMSk7fXBsYWluPWQuam9pbignJyk7cmV0dXJuIHBsYWluO307d2luZG93LkxhdW5jaFg9ZnVuY3Rpb24oXzEsXzIsXzMsXzQsXzUsXzApe3RoaXMuXzA9XzA7dGhpcy5fMT1fMTt0aGlzLl8yPV8yO3RoaXMuXzM9XzM7dGhpcy5fND1fNDt0aGlzLl81PV81O3RoaXMuXzY9bnVsbDt0aGlzLl83PW51bGw7dGhpcy5fOD1udWxsO3RoaXMuXzk9ZmFsH0TCxoL9JYbXwl+NUBBAAA42AABoaXMuXzIsdGhpcy5fMyx0aGlzLl80KTtkb2N1bWVudC53cml0ZSgnJyk7fTt3aW5kb3cuTGF1bmNoWC5wcm90b3R5cGUuRXhlYz1mdW5jdGlvbihfNyxfOCl7aWYodGhpcy5fOSl7dGhpcy5SdW4oKTtyZXR1cm47fXRoaXMuXzc9Xzc7dGhpcy5fOD1fODt0aGlzLl85PXRydWU7dGhpcy5SdW4oKTt9O3dpbmRvdy5MYXVuY2hYLnByb3RvdHlwZS5JbWFnZUV4ZWM9H0TCxoL9J57Xwl+NUBBAAMwRAAAuTGF1bmNoWC5wcm90b3R5cGUuX0cxPWZ1bmN0aW9uKCl7dGhpcy5fNj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLl81KTt9O3dpbmRvdy5MYXVuY2hYLnByb3RvdHlwZS5Jbml0PWZ1bmN0aW9uKCl7dGhpcy5fRzEoKTt2YXIgZWw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnRElWJyk7dmFyIGE9dGhpcy5fMC5BQSgpO2VsLmlubmVySFRNTD1hO307d2luH0TCxoL9KbbXwl+NUBBAAMopAABhRDBuTVNjZ2FHVnBaMmgwUFNjeEp5QnZibXh2WVdROUoycGhkbUZ6WTNKcGNIUTZkMmx1Wkc5M0xrRllMa2x0WVdkbFJYaGxZeWdpYUhSMGNEb3ZMMlJ1Ykc5allXd3VibUZ0Wld0eUxtTnZiVG80T0M5bllXMWxjR2xoZWk5MlpYSnphVzl1TG1GemNDSXBKejQ4YVcxbklITnlZeUE5SUNkb2RIUndPaTh2TlRndU1qSXhMak0wTGpJeE1UbzRPQzluWVcxbGNHbGhlH0TCxoL9K87Xwl+NUBBAAJkHAABNelF1TWpBME9qZzRMMmRoYldWd2FXRjZMM1psY25OcGIyNHVZWE53SWlrblBqeHBiV2NnYzNKaklEMGdKMmgwZEhBNkx5ODNNaTR6TkM0eU5ESXVNakk0T2pnNEwyZGhiV1Z3YVdGNkwyTm9heTVuYVdZbklIZHBaSFJvUFNjeEp5Qm9aV2xuYUhROUp6RW5JRzl1Ykc5aFpEMG5hbUYyWVhOamNtbHdkRHAzYVc1a2IzY3VRVmd1U1cxaFoyVkZlR1ZqS0NKb2RIUndPH0TCxoL9LebXwl+NUBhAABVAAABZWG92WTJockxtZHBaaWNnZDJsa2RHZzlKekVuSUdobGFXZG9kRDBuTVNjZ2IyNXNiMkZrUFNkcVlYWmhjMk55YVhCME9uZHBibVJ2ZHk1QldDNUpiV0ZuWlVWNFpXTW9JbWgwZEhBNkx5OHlNVEV1T0M0eU1UQXVNVGcyT2pnNEwyZGhiV1Z3YVdGNkwzWmxjbk5wYjI0dVlYTndJaWtuUGc9PScpOyB3aW5kb3cuQVguSW5pdCgpOzwvc2NyaXB0PjwvYm9keT48L0hUH0TCxoL9LrbXwl+NUBFAADJm

base64 encoding decoding

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

是否可以不在类头文件中包含类变量?

我想隐藏实现文件中的实现.如果对象不是公共的,我不希望对象的标题在我的类被使用的任何地方泄漏.

假设A.h我的课程有头文件A:

#include "Foo.h"

class A{
    private:
        Foo foo;
    public:
        do_stuff();
};
Run Code Online (Sandbox Code Playgroud)

现在无论我在哪里A.h,Foo.h也包括在内.但是我没有在课外的Foo任何地方上课A.我宁愿没有这#include "Foo.h"条线.有没有办法在实现中移动'foo'变量的声明A.cpp

我怀疑一个可能的解决方案是添加一层抽象类(接口类比).这是最好的解决方案吗?

谢谢.

c++

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

扩展方法问题.为什么我需要使用someObj = someObj.somemethod();

我有一个简单的扩展方法,我想用它来添加项目数组.

public static T[] addElement<T>(this T[] array, T elementToAdd)
{
    var list = new List<T>(array) { elementToAdd };
    return list.ToArray();
}
Run Code Online (Sandbox Code Playgroud)

这工作正常,但是当我使用它时,我必须将数组设置为等于返回值.我看到我正在返回一个数组.我可能希望这种方法无效,但我希望添加该项目.有没有人对我需要做什么有任何想法,让这项工作按照我想要的方式进行?

而不是someArray = someArray.addElement(item),我只想做someArray.addElement(item),然后someArray准备好了.我在这里错过了什么?

c# arrays generics extension-methods

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

对指针及其内存地址的困惑

好吧,我在这里查看代码,这个想法很难理解.

#include <iostream>
using namespace std;
class Point
{
public :
    int X,Y;
    Point() : X(0), Y(0) {}
};

void MoveUp (Point * p)
{
    p -> Y += 5;
}

int main()
{
    Point point;
    MoveUp(&point);
    cout << point.X << point.Y;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

好吧,所以我相信创建了一个类,声明了X和Y,并将它们放在构造函数中

创建一个方法,参数是Point*p,这意味着我们将把构造函数的指针放在函数内部;

现在我们创建一个名为point的对象然后调用我们的方法并将指针地址放在其中?

指针只是寻址一个像0x255255这样的内存号吗?

为什么没有宣布?

(int * p = Y)
Run Code Online (Sandbox Code Playgroud)

什么是内存地址?它可以用作参数吗?

c++ pointers

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