问题列表 - 第14846页

为什么我们不能在枚举其键时更改字典的值?

class Program
    {
        static void Main(string[] args)
        {
            var dictionary = new Dictionary<string, int>()
            {
                {"1", 1}, {"2", 2}, {"3", 3}
            };

            foreach (var s in dictionary.Keys)
            {
                // Throws the "Collection was modified exception..." on the next iteration
                // What's up with that?

                dictionary[s] = 1;  

            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

我完全理解为什么在枚举列表时抛出此异常 - 在枚举期间,枚举对象的结构不会改变似乎是合理的.但是,更改字典的值会改变其结构吗?具体来说,其键的结构?

c# dictionary enumeration invalidoperationexception

26
推荐指数
5
解决办法
9572
查看次数

如果我在SQLite中使用blob字段作为主键,是否会遇到性能问题?

我有一个sqlite数据库,其中所有主键都是GUID.目前它们存储为固定长度的字符串,但我想将它们存储为blob,因为它简化了存储和检索数据的代码.我转换了部分数据库,一切都按预期运行.但是,我不确定我是否会遇到性能问题.

例如,像这样的语句在字符串上会比blob更快吗?

SELECT * FROM table1 t1, table2 t2 WHERE t1.id = t2.parent_id
Run Code Online (Sandbox Code Playgroud)

我的直觉说不,但这并不意味着什么.

sql sqlite performance

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

Win32 WM_PAINT和子窗口

如何在儿童窗口内绘制?

我以为我应该CreateWindow(WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN)用一些WndProc(没有WM_PAINT)创建主窗口.在它WM_CREATE我创建另一个窗口CreateWindow(WS_CHILD | WS_CLIPCHILDREN)与另一个WndProc2作出反应WM_PAINT.但是,似乎另一个处理程序进入无限循环.我做错了什么?

拜托,你有没有建议或考试?

PS:WS_CLIPCHILDREN似乎没有影响这一点,两者都WndProc默认为DefWindowProc

代码:


LRESULT CALLBACK Proc2(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
   switch(msg)
    {
        case WM_CREATE:
            printf("-------\n");
            return 0;
        case WM_PAINT:
            printf("-");
            return 0;

        default:
            return DefWindowProc(hWnd, msg, wParam, lParam);
    }
}

LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
...
case WM_CREATE:
    CreateWindowClass(hInstance, Proc2, "Window2");
    w2 = CreateWindowEx(WS_EX_STATICEDGE, "Window2", "Win", WS_CHILD | …
Run Code Online (Sandbox Code Playgroud)

winapi paint onpaint

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

Python可以打印函数定义吗?

在JavaScript中,可以打印出函数的定义.有没有办法在Python中实现这一目标?

(只是在交互模式下玩,我想读一个没有打开的模块().我只是很好奇).

python

95
推荐指数
5
解决办法
6万
查看次数

如何在Mac OS X中以编程方式刻录音频CD

我能找到关于刻录CD的所有信息都是针对Windows的,或者是关于刻录cd的完整程序.但是,我希望能够直接在我的程序中刻录音频CD.

我不介意使用Cocoa或Carbon,或者如果没有可用的API直接执行此操作,使用可以使用wav/aiff文件作为输入的命令行程序也是可能的,如果它可以与我一起分发应用.

因为它将用于将dj混音刻录到cd,所以如果可以创建不同的音轨而它们之间没有间隙也是很好的.

macos cd-burning

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

ASP.NET MVC异常处理

可以在控制器的操作中捕获我的异常吗?有没有更好的方法呢?我实际上是在控制器中捕获我的异常并使用TempData向用户显示消息,但我对这种方法有一种奇怪的感觉.我一直在浏览,但我找不到任何适合我的东西.

asp.net-mvc exception-handling tempdata

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

Mac OS X:实现纸牌游戏GUI的最佳方式

我已经开始在Objective-C上使用Mac OS X进行编程,并决定创建一个小卡片游戏.首先,我创建一个命令行版本.如果一切正常我想实现一个GUI:没什么大的,只是一个带有可以拖放的卡片的绿色窗口.

由于我不知道如何做到这一点:我可以用什么来实现我的纸牌游戏GUI?

由于Objective-C和Cocoa在Mac OS X上看起来像一个"捆绑",是否可以使用Cocoa(以及如何)?如果没有,我还应该使用什么,或者已经存在...... 像这样?

问候,

INNO

macos user-interface xcode cocoa objective-c

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

如何在具有不同编码的异构环境中使用maven?

我在linux服务器(Debian)上创建了一个svn repositoy,并在windows机器上使用客户端检查我的java源代码.

现在我在不同的Linux服务器(Ubuntu)上设置了一个Hudson服务器,以定期对我的代码运行测试.但是测试因编译器错误而失败:

Error: unmappable character for encoding ASCII
Run Code Online (Sandbox Code Playgroud)

在我的Windows机器上,我使用了默认编码Cp1252.在我的svn服务器上,我可以对我的源进行本地检查,看起来很好.在我的Hudson服务器上,结帐包含非法字符.

我必须调整哪些参数,以便所有三个系统都使用工作编码?

编辑2009-10-15:

我将我的Ubuntu系统的默认编码更改为latin1.现在我可以用编辑器打开签出文件,它们看起来很好(感谢superuser.com上的@ John-T ).

但哈德森仍然抱怨unmappable character for encoding ASCII,我发现这是由maven引起的.我发现了一个explantion,但建议的解决方案没有奏效.现在maven告诉我它latin1在复制一些资源时会使用,但是编译器(不使用这个设置?)​​仍然会抱怨同样的错误信息.

linux svn windows encoding maven-2

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

精确的.NET时间

我需要在.NET应用程序中访问非常精确的计时.

我需要微秒精度.

在.NET中有一种简单的方法吗?

.net vb.net time timing

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

删除WPF ListView的"经典"缩进边框

如何从WPF ListView控件周围删除"经典"缩进边框?将其设置BorderThickness为0并没有摆脱它.

wpf listview styles border

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