我正在尝试从字典中构建饼图.在我显示饼图之前,我想整理数据.我正在删除任何小于饼的5%的饼图,并将它们放入"其他"饼图中.但是我Collection was modified; enumeration operation may not execute在运行时遇到异常.
我理解为什么你不能在迭代它们时添加或删除字典中的项目.但是我不明白为什么你不能简单地改变foreach循环中现有键的值.
任何建议:修复我的代码,将不胜感激.
Dictionary<string, int> colStates = new Dictionary<string,int>();
// ...
// Some code to populate colStates dictionary
// ...
int OtherCount = 0;
foreach(string key in colStates.Keys)
{
double Percent = colStates[key] / TotalCount;
if (Percent < 0.05)
{
OtherCount += colStates[key];
colStates[key] = 0;
}
}
colStates.Add("Other", OtherCount);
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Python的ElementTree生成XHTML文件.
但是,ElementTree.Element()只允许我创建一个标记(例如,HTML).我需要创建一些虚拟根或任何它被调用,以便我可以放置各种,DOCTYPES等.
我怎么做?谢谢
我正在尝试编写一个插件系统来为我的应用程序提供一些可扩展性,这样有人可以为应用程序编写一个插件,而无需触及主应用程序的代码(并冒险破坏某些内容).
我已经写了基础"IPlugin"接口(atm,还没有实现)
这是我加载的方式:
public static void Load()
{
// rawr: http://www.codeproject.com/KB/cs/c__plugin_architecture.aspx
String[] pluginFiles = Directory.GetFiles(Plugins.PluginsDirectory, "*.dll");
foreach (var plugin in pluginFiles)
{
Type objType = null;
try
{
//Assembly.GetExecutingAssembly().GetName().Name
MessageBox.Show(Directory.GetCurrentDirectory());
Assembly asm = Assembly.Load(plugin);
if (asm != null)
{
objType = asm.GetType(asm.FullName);
if (objType != null)
{
if (typeof(IPlugin).IsAssignableFrom(objType))
{
MessageBox.Show(Directory.GetCurrentDirectory());
IPlugin ipi = (IPlugin)Activator.CreateInstance(objType);
ipi.Host = Plugins.m_PluginsHost;
ipi.Assembly = asm;
}
}
}
}
catch (Exception e)
{
MessageBox.Show(e.ToString(), "Unhandled Exception! (Please Report!)", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Information);
}
}
}
Run Code Online (Sandbox Code Playgroud)
一位朋友试图提供帮助,但我真的不明白出了什么问题. …
我有一个表格。该表单有一个用户控件。该用户控件有一个面板和一个上下文菜单。上下文菜单未附加到面板。还有其他动态创建并添加到此面板的控件。这些控件之一是按钮。当您单击此按钮时,我将 contextmenustrip 属性设置为上下文菜单。
我的问题是,我需要先阅读该上下文菜单中的项目,然后才能将上下文菜单附加到按钮。
每次加载表单时,我都会迭代该表单的所有子控件。如果一个控件有子控件,我会迭代这些控件,依此类推...我似乎无法访问未分配的上下文菜单。它尚未附加到任何控件,因此它看起来不是窗体上任何控件的子控件。
myConectMenu 永远不会像 this.Controls.Add(myConectMenu) 这样添加到用户控件中。该上下文菜单如何不嵌套在表单控件集合中?我怎样才能进入该上下文菜单?
这是设计师代码:
private System.Windows.Forms.ContextMenuStrip myContextMenu;
void InitializeComponent()
{
this.myContextMenu = new System.Windows.Forms.ContextMenuStrip(this.components);
this.myContextMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.myToolStripMenuItem1,
this.myToolStripMenuItem2});
this.myContextMenu.Name = "myContextMenu";
this.myContextMenu.Size = new System.Drawing.Size(158, 92);
}
Run Code Online (Sandbox Code Playgroud)
更新 控件迭代发生在一个基类中,我的应用程序中的所有表单都从该基类派生。
myContextMenu 添加到一个私有组件对象中。我想这是因为当它没有附加到控件时,您可以在设计视图中看到上下文菜单。也许我可以利用这个?
private System.ComponentModel.IContainer components = null;
this.myContextMenu = new System.Windows.Forms.ContextMenuStrip(this.components);
Run Code Online (Sandbox Code Playgroud) Apple已在iPhone OS 3.0中包含HTTP Adaptive Bitrate Streaming,特别是Safari会自动处理此问题.
我想以低成本的方式使用它,但我希望在最坏的情况下它需要一个自定义HTTP服务器,并且在最好的情况下需要有趣的PHP/etc脚本.
但首先我需要知道协议的差异或标准是什么.HTTP作为协议相当简单,但自适应比特率意味着文件大小不同,块位置在不同比特率下不同等.例如,客户端是否在下载时告诉服务器有关流的任何特殊信息,或者是所有在服务器端处理?
消除最终用户的缓冲暂停对于实时和预先录制的视频流都非常有吸引力,并且由于许多网络和政府限制非端口80流量,因此通过HTTP进行这两种操作甚至更好.
这是最好的实现 - HTTP服务器本身的一部分,一个mod的一部分,在脚本中......?
如果要在应用程序中实现这一点,客户端需要进行哪些更改?
所以我有一个下拉列表
<select id="theSelectId">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
Run Code Online (Sandbox Code Playgroud)
这就是我想要的
<select id="theSelectId">
<option value="" selected="selected"></option>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
Run Code Online (Sandbox Code Playgroud)
尝试在之前添加空白选项并将其设置为此选项,希望强制用户从原始列表中选择一个值,但是当他们看到必须选择的选项时,希望它为空.
尝试这个但不起作用
// Add blank option
var blankOption = {optVal : ''};
$.each(blankOption, function(optVal, text) {
$('<option></option>').val(optVal).html(text).preprendTo('#theSelectId');
});
Run Code Online (Sandbox Code Playgroud)
我试过这个,但是清除了其他值
$('#theSelectId option').prependTo('<option value=""></option>');
Run Code Online (Sandbox Code Playgroud) TryParse方法族使用out参数; 我可以举Swap一个ref有用的参数示例,但.NET基类库中有很好的例子吗?
这是一个安全性最佳实践,我想知道我是否应该浪费我的时间.
与蓝光电影格式的最初破解一样,黑客只是检查了玩家的记忆,以窥探一个关键值.
似乎可以用浏览器内存做同样的事情,并查看javascript解释器设置的值 - 那么我应该加密内存中的数据吗?
想一想 - 它最终是疯了,如果我的浏览器在屏幕上显示敏感数据,那么b/c可以想象这段数据在内存中并且可以被窥探.因此,如果我在某处加密javascript中的相同数据,那就不重要了.
我很难向上级解释为什么我们不应该达到这种安全水平......
试图学习一点Scala并遇到这个问题.我发现没有repetions对所有组合的解决方案在这里,我有所了解的想法背后,但一些语法是搞乱了我.我也不认为该解决方案适用于重复的情况.我想知道是否有人可以建议我可以使用的一些代码.我有很多关于组合学的材料,并且理解问题和迭代解决方案,我只是在寻找scala-y的方法.
谢谢