问题列表 - 第5393页

使用Actions时,lambda表达式中的()含义是什么意思?

我已经粘贴了Jon Skeet的C#In Depth网站的一些代码:

static void Main()
{
    // First build a list of actions
    List<Action> actions = new List<Action>();
    for (int counter = 0; counter < 10; counter++)
    {
        actions.Add(() => Console.WriteLine(counter));
    }

    // Then execute them
    foreach (Action action in actions)
    {
        action();
    }
} 
Run Code Online (Sandbox Code Playgroud)

http://csharpindepth.com/Articles/Chapter5/Closures.aspx

注意这一行:

actions.Add(()

()括号内的含义是什么?

我已经看到了lambda表达式,委托,Action对象的使用等几个例子,但我没有看到这种语法的解释.它有什么作用?为什么需要?

c# lambda

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

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

如何杀死MFC线程?

我生成一个线程,使用AfxBeginThread它只是一个无限的while循环:

UINT CMyClass::ThreadProc( LPVOID param )
{
  while (TRUE)
  {
      // do stuff
  }
  return 1;
}
Run Code Online (Sandbox Code Playgroud)

如何在类析构函数中删除此线程?

我觉得有点像

UINT CMyClass::ThreadProc( LPVOID param )
{
  while (m_bKillThread)
  {
      // do stuff
  }
  return 1;
}
Run Code Online (Sandbox Code Playgroud)

然后设置m_bKillThreadFALSE在析构函数.但是我仍然需要在析构函数中等待,直到线程死亡.

c++ mfc multithreading

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

键盘友好轻量级UML建模工具?

我正在寻找一个在Windows上运行的免费UML工具,让我可以非常快速地创建简单的图表,尽可能小的鼠标摆弄.

我不需要代码生成或花哨的东西,只需带箭头的UML样式框.

我想要的是例如让我添加一个带有键盘快捷键的新类,让我输入名称而不必双击添加的类或类似的东西.只是一个简单的应用程序,让您有效地建模而不会有吃桌子的冲动......

我不想要的是必须将项目从工具箱拖到表面,双击项目,输入名称,再次抓住鼠标,单击确定按钮,rince并重复.

对于Eclipse,TextUML允许您使用文本符号创建图表,但我希望它用于.Net开发,我不想仅仅为一个小图表插件运行Eclipse.

我已经尝试了很多开源工具,但大多数都有非常糟糕的用户体验.

那么,是否有适合上述描述的工具?

uml modeling

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

处理浮点数中的精度问题

我想知道是否有办法克服精确度问题,这似乎是我的机器内部表示浮点数的结果:

为清楚起见,问题归纳为:

// str is "4.600";   atof( str ) is 4.5999999999999996  
double mw = atof( str )  

// The variables used in the columns calculation below are:   
//  
//                    mw = 4.5999999999999996  
//                    p = 0.2  
//                    g = 0.2  
//                    h = 1 (integer)  

int columns = (int) ( ( mw - ( h * 11 * p ) ) / ( ( h * 11 * p ) + g ) ) + 1;
Run Code Online (Sandbox Code Playgroud)

在转换为整数类型之前,列计算的结果是1.9999999999999996; 距离2.0的理想结果还差不多.

任何建议最受欢迎.

c++ floating-point floating-accuracy

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

在css文件的末尾指定.aspx?

在ASP.NET中处理Web应用程序时,将文件指定为stylesheet.css.aspx而不仅仅是plain stylesheet.css的原因是什么?我已经在各种网络应用程序中看到了这一点.

网页设计师提到了一些关于它如何是.NET的东西以及为ASPX页面存储全局变量的东西,但我并不是真的理解,也不知道完整的故事.

这是在我的工作中为不同国家的不同网站的大型网络应用程序完成的.这让我想知道,我什么时候会为不同的国家制作单独的网络应用程序而不是一个服务于不同语言的网络应用程序?这样做有性能,架构或其他技术原因吗?我可以想到几个非技术原因(例如SEO考虑因素).

asp.net

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

如何更改侦听器线程优先级

我使用Indy 10的TIdCmdTCPServer组件来实现我的客户端 - 服务器应用程序.问题是来自客户端的请求可能相当复杂,并且我的服务器应用程序的GUI部分立即失去响应能力.从Indy文档中,我得到了Indy:

使用线程优先级tpHighest为Bindings创建和启动侦听器线程.

我可以改变这种行为吗?

delphi multithreading indy thread-priority

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

比较.dlls的工具和反汇编的差异?

有没有人知道一个不错的工具,它将比较相同dll的两个不同版本并提取差异?

谢谢

.net disassembly

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

如何将标签的字体颜色设置为与GroupBox的标题颜色相同?

我希望在表格上有一些标签,其字体颜色与我的组框上的标题相同,而且如果用户在其系统上应用了不同的主题,我希望这些颜色更改.

我可以在不更改默认的GroupBox标题的情况下执行此操作吗?

更新:

我已经尝试将Label ForeColor设置为ActiveCaption,这对于默认(蓝色)方案看起来没问题,但是当我将方案更改为Olive Green时,标签和组框标题不一样.

此外,GroupBox正常行为是将FlatStyle设置为Standard将标题颜色设置为ForeColor,但是要创建新的GroupBox并将其ForeColor设置为ControlText,您必须首先将其设置为ControlText以外的其他内容,然后再将其设置回来.(如果你不遵循我的意思,那就试试吧.)

.net c# vb.net winforms

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

为什么op-assign运算符在java中不安全?

我不确定问题的措辞是否明确,但一个例子会更清晰.

我发现它在Java中不起作用:

int a = ...;
a = 5.0;
Run Code Online (Sandbox Code Playgroud)

但这会:

int a = ...;
a += 5.0;
Run Code Online (Sandbox Code Playgroud)

即,似乎=运算符是类型安全的,但+ =不是.这有什么深刻的理由,还是设计师必须采取的另一种任意决策语言.

java language-features types operators

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