问题列表 - 第11868页

Visual Studio 2008文件夹浏览器对话框

在Visual Studio 2008中,有一个文件夹浏览器对话框,看起来像这样(非常类似于文件打开对话框):

对话框http://img24.imageshack.us/img24/5742/folderbrowser.jpg

有谁知道如何从代码中调用它?

c# c++ winforms

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

在C#中解析骰子表达式(例如3d6 + 5):从哪里开始?

所以我希望能够在C#中解析和评估"骰子表达式".骰子表达式定义如下:

<expr> :=   <expr> + <expr>
            | <expr> - <expr>
            | [<number>]d(<number>|%)
            | <number>
<number> := positive integer
Run Code Online (Sandbox Code Playgroud)

所以例如d6+20-2d3是允许的,并且应该评估为

rand.Next(1, 7) + 20 - (rand.Next(1, 4) + rand.Next(1, 4))
Run Code Online (Sandbox Code Playgroud)

d%应该相当于d100.

我知道我可以解决一些解决方案,但我也知道这似乎是一个非常典型的计算机科学类型的问题,所以必须有一些我应该研究的超优雅解决方案.

我希望我的解析结果具有以下功能:

  • 我应该能够输出表达式的规范化形式; 我首先考虑骰子,按骰子大小排序,并始终使用前缀.所以例如上面的样本会变成1d6-2d3+20.任何实例d%也会变成d100标准化形式.
  • 我应该能够随意评估表达式,每次滚动不同的随机数.
  • 我应该能够用最大化的所有骰子卷来评估表达式,因此例如上面的样本将给出(确定性地)1*6+20+2*3 = 32.

我知道这正是Haskell的类型,可能还有其他功能类型的语言,但是如果可能的话,我想留在C#中.

我最初的想法倾向于递归,列表,也许还有一些LINQ,但是,如果我尝试没有知道事物的人的一些指示,我肯定它最终会成为一个不优雅的混乱.

另一种可能有效的策略是一些基于正则表达式的初始字符串替换,将骰子表达式转换为rand.Next调用,然后进行即时评估或编译......这实际上有用吗?我怎么能避免rand每次都创建一个新对象?

c# math computer-science dice

12
推荐指数
3
解决办法
3237
查看次数

Refresh,Update和Repaint有什么区别?

我不知道这三种方法中哪一种最适合我.他们都为我工作.有谁知道刷新,更新和重绘之间的区别?

delphi vcl

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

保持一切松散耦合和可扩展:太多层,ROI太小?

我(现在比以往任何时候都更多)看到开发人员编写了大量的图层,例如:

implementation PresentationLayer ->
    interface IMyDTO ->
        implementation MyDTO ->
            interface IMyService -> 
                implementation MyService -> 
                    interface IMyDomainRepository ->
                        implementation MyDomainRepository ->
                            interface IMyDomainObject -> 
                                implementation MyDomainObject ->
                                    interface IMyIndependentStorageLayer ->
                                        implementation MyMSSQLStorageLayer
Run Code Online (Sandbox Code Playgroud)

通过C#博客看,这似乎是自切片面包以来最好的事情.基本上,一切都松散耦合.不要直接使用域对象.通过服务层运行所有内容.通过存储库访问数据.所有图层都完全独立.

不要误解我的意思,我喜欢这个想法,但是不是时间上的权衡,特别是在一个更大的项目上?维护的投资回报率是否真的足以证明这一点?

我读到的解释有点尴尬,例如"如果需要,我可以附加不同的数据库".真?我不认为这是一个常见的问题,有人突然要求从MSSQL切换到Oracle,现在你坐在那里,希望你有一百万个层,彼此都不知道.

是否存在松散耦合过度的趋势,或者我只是在阅读错误的博客?你觉得这个怎么样,并且你有过这样的情况,你以后真的很高兴你在开始时做了额外的工作吗?

implementation design-patterns interface code-design

10
推荐指数
0
解决办法
569
查看次数

iPhone应用程序中的SVG图像

我正在寻找一个小教程,可以帮助我在iPhone应用程序中使用svg图像.我正在尝试了解svg格式,并且想知道苹果是否有相关材料?特别是,iPhone.

是否有适用于SVG的iPhone SDK 3.0+中的任何开源库或框架?

任何帮助表示赞赏.谢谢.穆斯塔法

iphone svg frameworks

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

ASP.NET应用程序的国际化

你们如何处理ASP.NET应用程序的翻译/国际化?你如何与译员合作?

我们有ASP.NET应用程序需要提供德语,法语,意大利语和英语.我们到处使用字符串资源.但是,不止一次,我们的翻译人员告诉我们只是获得了一堆"txtMyTextbox.Text",然后一个待翻译的德语文本几乎无法处理 - 缺少上下文.

那么还有其他解决方案吗?由于这些翻译人员分布在整个欧洲,我们无法让他们"在现场"进行工作 - 必须有一种方法可以向他们发送要翻译的文本片段以及一些上下文,以及让他们做他们的工作.

有没有任何工具可以让我打包我的ASPX页面和ASCX控件以及文本资源,这实际上可以将它们可视化到翻译器(没有他必须安装和托管IIS和所有)?我依稀记得在我过去的Delphi时代有很多工具可以做到这一点 - 可视化表单(没有真正的应用程序运行),并允许某人选择标签并翻译它们.

或者是否有一个工具可以让我制作我的ASPX页面的屏幕截图并突出显示所有标签并以红色显示其控件名称("txtMytextbox"),以便屏幕截图可以作为某人从事翻译工作的方向帮助标签清单?

任何提示都非常受欢迎,非常感谢!

asp.net internationalization

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

C#app如何轻松地在网络上传输和传输文件?

C#app如何轻松地与位于同一网络上的另一台计算机上的自身实例进行通信,并传输文件和数据?

假设网络上的计算机具有固定的本地IP地址,并且每个计算机都知道彼此的IP.如果IP未知,是否还有通信方式?基于一些发现协议?

我听说Apple的"Bonjour"服务是一个很好的协议.我们可以通过Windows应用程序进行通信吗?或者你必须使用"套接字".我主要是在寻找可以轻松满足我需求的库或示例代码,我不想开发自己的基于TCP的协议或任何硬核!

c# networking data-transfer communication file-transfer

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

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

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

过程调用如何在汇编程序中工作?

我刚刚开始修补ASM,我不确定我对程序调用的理解是否正确.

在代码中的某个时刻说有一个过程调用

call dword ptr[123]
Run Code Online (Sandbox Code Playgroud)

并且该过程只包含一个命令,ret:

ret 0004
Run Code Online (Sandbox Code Playgroud)

这个过程调用会产生什么影响,返回值将存储在何处?我在某处读到了一个2字节的返回值将存储在AX中,但当我替换过程调用时

mov AX, 0004
Run Code Online (Sandbox Code Playgroud)

(连同必要的NOP)程序崩溃.

x86 assembly call function-calls

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