小编Kev*_*vin的帖子

关闭后,我应该手动处理插座吗?

关闭我还应该打电话Dispose()给我的插座吗?

例如:

mySocket.Shutdown(SocketShutdown.Both);
mySocket.Close();
mySocket.Dispose(); // Redundant?
Run Code Online (Sandbox Code Playgroud)

我想知道因为MSDN文档说明如下:

关闭Socket连接并释放所有相关资源.

c# sockets dispose

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

c ++指针范围

当您拥有以下代码时会发生什么:

void makeItHappen()
{
    char* text = "Hello, world";
}
Run Code Online (Sandbox Code Playgroud)

是否text超出范围并自动删除或保留在内存中?

以下示例如何:

class SomeClass
{
    public:
      SomeClass();
      ~SomeClass();
};

SomeClass::SomeClass() { }
SomeClass::~SomeClass()
{
    std::cout << "Destroyed?" << std::endl;
}

int main()
{
    SomeClass* someClass = new SomeClass();
    return 0;
} // What happend to someClass?
Run Code Online (Sandbox Code Playgroud)

这里有同样的事吗?

谢谢!

c++ pointers scope

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

ManagementScope和"root\cimv2"?

要创建ManagementScope对象,您必须将字符串传递给构造函数,该构造函数是IP地址或PC的名称.

我没有得到的是最后一部分:

ManagementScope ms = new ManagementScope(@"FullComputerName\root\cimv2");
                                                            ^^^^^^^^^^
                                                               What is this?
Run Code Online (Sandbox Code Playgroud)

什么root\cimv2代表什么?它从何而来?还有什么可以而不是它呢?

c#

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

使用jQuery获取List Item的值

如何使用jQuery获取列表项onClick事件的值和索引?
例如:

<ul id='uItem'>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

javascript jquery onclick javascript-events

11
推荐指数
3
解决办法
6万
查看次数

C++ - 抛出和捕获异常的正确方法

可能重复:
在堆栈上抛出对象的异常,用新的mem泄漏?

没有new运算符的情况下,您是否在C++中抛出异常?因为这两个都会引发异常.

void KillUnicorns()
{
    throw IllegalActionException();
}

int main()
{
    try
    {
        KillUnicorns();
    }
    catch (IllegalActionException e)
    {
         // Handle exception
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

虽然以下示例会泄漏内存?

void KillUnicorns()
{
    throw new IllegalActionException();
}

int main()
{
    try
    {
        KillUnicorns();
    }
    catch (IllegalActionException* e)
    {
         // Handle exception
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

在C++中抛出异常的正确方法是什么?

c++ memory-leaks exception-handling exception

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

铸造是如何工作的?

我想知道当你举一个C#时你做object了什么int.

object o = 10;
int i = (int) o;
Run Code Online (Sandbox Code Playgroud)

非常感激 :)!

c# casting

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

在C#中使用AppConfig文件中的值

selenium = new DefaultSelenium(
    ConfigurationManager.AppSettings["TestMachine"].ToString(),
    4444,       
    ConfigurationManager.AppSettings["Browser"].ToString(),        
    ConfigurationManager.AppSettings["URL"].ToString()
);
Run Code Online (Sandbox Code Playgroud)

有没有一种有效的方法来做到这一点,而不是重复:

ConfigurationManager.AppSettings[""].ToString()
Run Code Online (Sandbox Code Playgroud)

c# selenium app-config visual-studio

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

大型嵌套switch语句的设计模式

我搜索了一些关于重构大型switch声明的文章.

但他们没有做我想做的事.我要运行的问题是有一个巨大的switch语句,根据两个不同的值调用不同的方法,让我们说a type和a code.

目前,我会处理这样的情况:

switch (type)
{
    case Types.Type1:
        handleType1(code);
        break;

    case Types.Type2:
        handleType2(code);
        break;
}

void handleTypeN(code)
{
    switch (code)
    {
       ...
    }
}
Run Code Online (Sandbox Code Playgroud)

也许结合了工厂和命令模式的东西会帮助我吗?我一定错过了一些明显的东西.

你会如何重构这段代码?


我可能需要更具体地了解我面临的情况.

我正在接收来自服务器的数据包.数据包包含类型和代码以及一些特定信息.

由于数据到达不久,我检索typecode数据包,并且它去到switch该语句type,搞清楚后type的特定方法被调用,以在执行交换机code的数据包.

处理代码的方法现在进一步解码数据包并完成该过程.

+----------+                +----------+
|          |     Packet     |          |
|  Server  | -------------> |  Client  |
|          |                |          |
+----------+                +----------+
                                  |
                                  |
         (Switch on the type of the packet and …
Run Code Online (Sandbox Code Playgroud)

oop polymorphism design-patterns switch-statement

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

Javascript Math.random()

Math.random()在javascript 能够返回1,对吧?这意味着如果我要使用它来获取我的数组上的随机索引,以下代码可能会失败:

var arr = [ 1, 2, 3 ],
    index = Math.floor(Math.random() * arr.length);

// index could be 3?
alert(arr[index]);
Run Code Online (Sandbox Code Playgroud)

有人可以对此有所了解吗?

javascript arrays random

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

如何创建IPortableDeviceManager的实例?

我正在尝试IPortableDeviceManager使用该方法创建类的实例,CoCreateInstance(..)但我找不到类的CLSIDaka GUID.

我潜入Windows SDK试图找到GUID但我唯一能找到的是文件中的以下行PortableDeviceApi.h:

EXTERN_C const CLSID CLSID_PortableDeviceManager;
Run Code Online (Sandbox Code Playgroud)

这对我来说也没有帮助..

那么,我做错了什么?有什么方法可以找出它GUIDIPortableDeviceManager吗?或实例化它的实例?

c# com

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