小编Dim*_* C.的帖子

是否有一个用于保存文件系统路径的类?

在.NET基类库中有一个类System.IO.Path,用于对表示文件系统路径的字符串执行常见操作.但是,我需要的是一个封装路径的类,所以我得到了类型安全性和可能更短的路径操作符号.我正在考虑.NET相当于C++ Boost的路径类.这样的课程存在吗?

更新:我不一定要找一个可以同时保存文件和目录路径的类.但是,由于文件系统路径可以用于指向两者,我发现很明显可以使用相同的类.

结论:DirectoryInfoFileInfo接近我正在寻找的东西.但是,它们似乎是作为文件或目录的表示,而不是文件或目录路径.这使得很难进行路径操作,例如组合目录路径和相对文件路径,所以我想我会编写一个封装路径的类.

.net

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

如何保持Mercurial存储库小?

我的中央存储库存储在一个8GB的USB记忆棒上.我不小心提交了一些大文件,因此存储库不再适用于棒.有没有办法纠正这种情况?

mercurial

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

使用相同的HttpWebRequest obj请求第二个URL

我想做这样的事情

{
    HttpWebRequest WebRequestObject = (HttpWebRequest)HttpWebRequest.Create("http://google.com");
    WebRequestObject.KeepAlive = true;
    //do stuff
    WebRequestObject.Something("http://www.google.com/intl/en_ALL/images/logo.gif");
    //more here
}
Run Code Online (Sandbox Code Playgroud)

如何保持连接活动并使用相同的活动连接转到多个URL?

.net c# httpwebrequest

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

随后启动两个WebClient.UploadStringAsync调用

在两次调用WebClient.UploadStringAsync时,无需等待WebClient.UploadStringCompleted事件,抛出以下异常:

"WebClient不支持并发I/O操作"

显然,这不受支持.

想要启动多个HTTP POST请求而不必等待先前响应到达的原因是因为性能; 我想避免往返延误.有这种限制的解决方法吗?

silverlight http

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

Mercurial优于Subversion的利弊

我正在开始一个新项目.我熟悉TortoiseSVN及其所有缺点.我应该开始使用Mercurial吗?使用Mercurial而不是Subversion有什么优缺点?

svn version-control tortoisesvn mercurial tortoisehg

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

开发API:在新功能和后向兼容性之间取得平衡

我现在正在为我们产品的开发人员功能API工作.

第一个版本发布,目前用户数量很少.自从我开始开发第二个版本以来,一些部件被重新设计,一些部件被移除以使API更加优雅和清晰.

但是第二版部署对于旧版本用户来说可能是一种痛苦.我们的营销部门正计划大量增强我们的API产品,为其添加更多功能.

我应该如何构建系统,
1)我们不会受限于"旧版本"添加新的有趣功能
2)当前的API用户不会不满意,因为需要重新设计他们的系统以符合更改的API

或者,如果API产品在公开发布之前的相当长的一段时间内在沙箱中进行测试,那么规范中是否会有任何重大修改?

api project-planning compatibility specifications

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

调用者的"out"关键字的目的是什么(在C#中)?

当C#函数具有输出参数时,您可以按如下方式清除:

private void f(out OutputParameterClass outputParameter);
Run Code Online (Sandbox Code Playgroud)

这表明在调用函数时不必初始化参数.但是,在调用此函数时,您必须重复out关键字:

f(out outputParameter);
Run Code Online (Sandbox Code Playgroud)

我想知道这有什么好处.为什么有必要重复部分功能规范?有人知道吗?

c# parameters ref out

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

将C++移植到C++/CLI是否很困难?

我想你不能简单地用C++/CLI编译器编译C++应用程序.我想知道这是否会很困难.有没有人试过这个,如果有的话:是否需要进行大量的修改?

c++ c++-cli

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

正在等待永远不会触发死锁的事件?

死锁通常意味着线程(或进程)A正在等待线程B,同时线程B正在等待线程A.

目前我在我们的应用程序中遇到了类似的情况 线程A正在等待线程B设置的事件.但是,线程B 没有等待线程A,它只是不会设置事件(无论是什么原因).我想知道这种情况是否也可以被称为"僵局",或者是否还有其他术语?

concurrency multithreading terminology

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

如何在C#或.NET中遵循发布者/订阅者策略?

什么是C#中的最合适的语言结构,或.NET的BCL中的类或函数,以遵循发布者/订阅者(又称信号/插槽)策略?

.net c#

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

模板向导的难题

我想做以下事情:

const int someInt;
const std::vector<int> someIntList;
const std::vector<std::vector<int>> someNestedIntList;

Marshall(someInt); // trivial case
Marshall(someIntList); // difficult case
Marshall(someNestedIntList); // difficult case
Run Code Online (Sandbox Code Playgroud)

我尝试了以下方法:

template<std::vector<class Element>> 
void Marshall(const std::vector<Element>& toBeMarshalled)
{
    for (int i=0; i<toBeMarshalled.size(); ++i)
        Marshall<Element>(toBeMarshalled[i]);
}
Run Code Online (Sandbox Code Playgroud)

遗憾的是,这不会编译,我找不到合适的语法.

请注意,必须只有一个模板参数,否则嵌套列表的编组将不起作用.

更新:感谢FredOverflow的回答,我找到了我想要的东西.我忘了标准库中的所有容器类都有一个value_type typedef.这可以用作我的问题的解决方法:

template <class Container> 
void Marshall(const Container& toBeMarshalled)
{
    for (UINT32 i=0; i<toBeMarshalled.size(); ++i)
        Marshall<Container::value_type>(toBeMarshalled);
}
Run Code Online (Sandbox Code Playgroud)

这是一个补丁,但我认为这已经足够了.

c++ templates

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

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