Tag: C#的

在同一个套接字上并行调用send / recv是否有效?

我们可以调用从一个线程发送和从另一个在同一个套接字recv? 我们可以在同一个套接字上调用多个来自不同线程的并行发送吗? 我知道一个好的devise应该避免这一点,但我不清楚这些系统API将如何performance。 我也找不到一个好的文档。 任何方向的指针都会有所帮助。

用scanf读取一个string

我有点困惑。 我的印象是用scanf()读取Cstring的正确方法是沿着 (不要介意可能的缓冲区溢出,这只是一个简单的例子) char string[256]; scanf( "%s" , string ); 但是,以下似乎也工作, scanf( "%s" , &string ); 这只是我的编译器(gcc),纯粹的运气,还是别的什么? 提前致谢

C ++显示堆栈跟踪exception

我想有一种方法来报告堆栈跟踪如果引发exception的用户。 什么是最好的方法来做到这一点? 是否需要大量额外的代码? 回答问题: 如果可能,我希望它是便携式的。 我想要popup的信息,所以用户可以复制堆栈跟踪,并通过电子邮件发送给我,如果出现错误。

.NETreflection代价如何?

我经常听到reflection是多么糟糕。 虽然我通常避免反思,很less发现没有它的情况下不可能解决我的问题,但我想知道… 对于那些在应用程序中使用过reflection的人来说,你是否测量了性能点击,是不是真的很糟糕?

C#将string拆分为另一个string

我一直在使用Split()方法来拆分string,但是这只有在按字符拆分string时才起作用。 有什么办法来拆分一个string ,另一个string是由参数拆分? 我已经尝试将分离器转换为字符数组,没有运气。 换句话说,我想分割string : THExxQUICKxxBROWNxxFOX 由xx ,并返回一个数组值: 快速,棕色,狐狸

我怎样才能乘以和仅使用位移和添加?

我怎样才能乘以和仅使用位移和添加?

如何将cin和coutredirect到文件?

我如何redirectcin到in.txt和cout到out.txt ?

内联虚函数真的是无意义的吗?

当我收到一个代码评论评论,说虚拟function不需要内联时,我得到了这个问题。 我认为内联虚函数可以在直接调用对象的场景中派上用场。 但是我想到的反驳是 – 为什么要定义虚拟然后使用对象来调用方法? 最好不要使用内联虚函数,因为它们几乎从来没有扩展? 我用于分析的代码片段: class Temp { public: virtual ~Temp() { } virtual void myVirtualFunction() const { cout<<"Temp::myVirtualFunction"<<endl; } }; class TempDerived : public Temp { public: void myVirtualFunction() const { cout<<"TempDerived::myVirtualFunction"<<endl; } }; int main(void) { TempDerived aDerivedObj; //Compiler thinks it's safe to expand the virtual functions aDerivedObj.myVirtualFunction(); //type of object […]

Objective-C:BOOL vs bool

我看到了“新types” BOOL ( YES , NO )。 我读到这种types几乎就像一个字符。 为了testing,我做了: NSLog(@"Size of BOOL %d", sizeof(BOOL)); NSLog(@"Size of bool %d", sizeof(bool)); 很高兴看到两个日志都显示“1”(有时在C ++中,bool是一个int,sizeof是4) 所以我只是想知道是否有问题的布尔types或什么? 我可以使用布尔(似乎工作)不失速度?

如何拦截C#中的方法调用?

对于一个给定的类我想跟踪function,即我想logging每个方法调用(方法签名和实际参数值)和每个方法退出(只是方法签名)。 我如何做到这一点假设: 我不想为C#使用任何第三方AOP库, 我不想添加重复代码到所有我想跟踪的方法, 我不想改变类的公共API – 类的用户应该能够以完全相同的方式调用所有的方法。 为了使问题更具体,我们假设有三个类: public class Caller { public static void Call() { Traced traced = new Traced(); traced.Method1(); traced.Method2(); } } public class Traced { public void Method1(String name, Int32 value) { } public void Method2(Object object) { } } public class Logger { public static void LogStart(MethodInfo method, Object[] […]